❶ linux五分鍾對比兩個文件
可以使用cat命令從文件中讀入兩個文件,然後將重定向到一個新的文件。用法示例:將file1.txt和file2.txt合並到file.txt$ cat file1.txt file2.txt > file.txt也可以只使用cat命令讀入一個文件,然後使用>>將文本流追加到另一個文件的末位。用法示例:將file1.txt追加到file2.txt的末尾$ cat file1.txt >> file2.txt
❷ Linux使用diff命令怎麼比較文件
Y:diff命令
●簡介
★diff命令用於比較文件的差異。
★diff以逐行的方式,比較文本文件的異同處。如果指定要比較目錄,則diff會比較目錄中相同文件名的文件,但不會比較其中子目錄。
●語法
★命令格式:diff[參數][文件1或目錄1][文件2或目錄2]
★參數:
☆-<行數> 指定要顯示多少行的文本。此參數必須與-c或-u參數一並使用。
☆-a或--text diff預設只會逐行比較文本文件。
☆-b或--ignore-space-change 不檢查空格字元的不同。
☆-B或--ignore-blank-lines 不檢查空白行。
☆-c 顯示全部內文,並標出不同之處。
☆-C<行數>或--context<行數> 與執行"-c-<行數>"指令相同。
☆-d或--minimal 使用不同的演演算法,以較小的單位來做比較。
☆-D<巨集名稱>或ifdef<巨集名稱> 此參數的輸出格式可用於前置處理器巨集。
☆-e或--ed 此參數的輸出格式可用於ed的script文件。
☆-f或-forward-ed 輸出的格式類似ed的script文件,但按照原來文件的順序來顯示不同處。
☆-H或--speed-large-files 比較大文件時,可加快速度。
☆-l<字元或字元串>或--ignore-matching-lines<字元或字元串> 若兩個文件在某幾行有所不同,而這幾行同時都包含了選項中指定的字元或字元串,則不顯示這兩個文件的差異。
☆-i或--ignore-case 不檢查大小寫的不同。
☆-l或--paginate 將結果交由pr程序來分頁。
☆-n或--rcs 將比較結果以RCS的格式來顯示。
☆-N或--new-file 在比較目錄時,若文件A僅出現在某個目錄中,預設會顯示:
☆Only in目錄:文件A若使用-N參數,則diff會將文件A與一個空白的文件比較。
☆-p 若比較的文件為C語言的程序碼文件時,顯示差異所在的函數名稱。
☆-P或--unidirectional-new-file 與-N類似,但只有當第二個目錄包含了一個第一個目錄所沒有的文件時,才會將這個文件與空白的文件做比較。
☆-q或--brief 僅顯示有無差異,不顯示詳細的信息。
☆-r或--recursive 比較子目錄中的文件。
☆-s或--report-identical-files 若沒有發現任何差異,仍然顯示信息。
☆-S<文件>或--starting-file<文件> 在比較目錄時,從指定的文件開始比較。
☆-t或--expand-tabs 在輸出時,將tab字元展開。
☆-T或--initial-tab 在每行前面加上tab字元以便對齊。
☆-u,-U<列數>或--unified=<列數> 以合並的方式來顯示文件內容的不同。
☆-v或--version 顯示版本信息。
☆-w或--ignore-all-space 忽略全部的空格字元。
☆-W<寬度>或--width<寬度> 在使用-y參數時,指定欄寬。
☆-x<文件名或目錄>或--exclude<文件名或目錄> 不比較選項中所指定的文件或目錄。
☆-X<文件>或--exclude-from<文件> 您可以將文件或目錄類型存成文本文件,然後在=<文件>中指定此文本文件。
☆-y或--side-by-side 以並列的方式顯示文件的異同之處。
☆--help 顯示幫助。
☆--left-column 在使用-y參數時,若兩個文件某一行內容相同,則僅在左側的欄位顯示該行內容。
☆--suppress-common-lines 在使用-y參數時,僅顯示不同之處。
●案例
★實例一:比較兩個文件
[root@localhost test3]# diff log2014.log log2013.log
3c3
< 2014-03
---
> 2013-03
8c8
< 2013-07
---
> 2013-08
11,12d10
< 2013-11
< 2013-12
☆上面的"3c3"和"8c8"表示log2014.log和log20143log文件在3行和第8行內容有所不同;"11,12d10"表示第一個文件比第二個文件多了第11和12行。
★實例二:並排格式輸出
[root@localhost test3]# diff log2014.log log2013.log -y -W 50
2013-01 2013-01
2013-02 2013-02
2014-03 | 2013-03
2013-04 2013-04
2013-05 2013-05
2013-06 2013-06
2013-07 2013-07
2013-07 | 2013-08
2013-09 2013-09
2013-10 2013-10
2013-11 <
2013-12 <
[root@localhost test3]# diff log2013.log log2014.log -y -W 50
2013-01 2013-01
2013-02 2013-02
2013-03 | 2014-03
2013-04 2013-04
2013-05 2013-05
2013-06 2013-06
2013-07 2013-07
2013-08 | 2013-07
2013-09 2013-09
2013-10 2013-10
> 2013-11
> 2013-12
★說明:
☆"|"表示前後2個文件內容有不同;
☆"<"表示後面文件比前面文件少了1行內容;
☆">"表示後面文件比前面文件多了1行內容;
❸ 請教LINUX兩個文件內容比較的寫法
用法:diff [選項]... FILES
逐行比較文件。
-i --ignore-case 忽略文件內容大小寫的區別。
--ignore-file-name-case 忽略文件名大小寫的區別。
--no-ignore-file-name-case 不忽略文件名大小寫的區別。
-E --ignore-tab-expansion 忽略由製表符寬度造成的差異。
-b --ignore-space-change 忽略由空格數不同造成的差異。
-w --ignore-all-space 忽略所有空格。
-B --ignore-blank-lines 忽略任何因空行而造成的差異。
-I RE --ignore-matching-lines=RE 如果某行匹配正則表達式,則忽略由該行造成的差異。
--strip-trailing-cr 去除輸入內容每行末端的 carriage return 字元。
-a --text 所有文件都以文本方式處理。
-c -C 行數 --context[=行數] 顯示指定<行數>(默認 3 行)copied 格式的上下文
-u -U 行數 --unified[=行數] 顯示指定<行數>(默認 3 行)unified 格式的上下文
--label 標識 使用<標識>代替文件名稱。
-p --show-c-function 顯示和每個差異有關的 C 函數名稱。
-F RE --show-function-line=RE 顯示最接近而符合<正則表示式>的一行。
-q --brief 只顯示文件是否不同。
-e --ed 以 ed script 方式輸出。
--normal 以正常的 diff 方式輸出。
-n --rcs 以 RCS diff 格式輸出。
-y --side-by-side 以兩列並排的方式顯示。
-W NUM --width=NUM 每行顯示最多 NUM (默認 130) 個字元。
--left-column 當有兩行相同時只顯示左邊的一行。
--suppress-common-lines 當有兩行相同時不會顯示。
-D NAME --ifdef=NAME 輸出的內容以『#ifdef NAME』方式標明差異。
--GTYPE-group-format=GFMT 效果類似,但會以 GFMT 格式處理 GTYPE 輸入的行。
--line-format=LFMT 效果類似,但會以 LFMT 格式處理每一行資料。
--LTYPE-line-format=LFMT 效果類似,但會以 LFMT 格式處理 LTYPE 輸入的行。
LTYPE 可以是『old』、『new』或『unchanged』。GTYPE 可以是 LTYPE 的選擇
或是『changed』。
GFMT 可包括:
%< 該組中每行屬於 FILE1 的差異
%> 該組中每行屬於 FILE2 的差異
%= 該組中同時在 FILE1 和 FILE2 出現的每一行
%[-][寬度][.[精確度]]{doxX}字元 以 printf 格式表示該<字元>代表的內容
大寫<字元>表示屬於新的文件,小寫表示屬於舊的文件。<字元>的意義如下:
F 行組中第一行的行號
L 行組中最後一行的行號
N 行數 ( =L-F+1 )
E F-1
M L+1
LFMT 可包括:
%L 該行的內容
%l 該行的內容,但不包括結束的 newline 字元
%[-][寬度][.[精確度]]{doxX}n 以 printf 格式表示的輸入資料行號
GFMT 或 LFMT 可包括:
%% %
%c'C' 字元 C
%c'\OOO' 八進制數字 OOO 所代表的字元
-l --paginate 將輸出送至『pr』指令來分頁。
-t --expand-tabs 將輸出中的 tab 轉換成空格。
-T --initial-tab 每行先加上 tab 字元,使 tab 字元可以對齊。
-r --recursive 連同所有子目錄一起比較。
-N --new-file 不存在的文件以空文件方式處理。
--unidirectional-new-file 若第一文件案不存在,以空文件處理。
-s --report-identical-files 當兩個一樣時仍然顯示結果。
-x PAT --exclude=PAT 排除匹配 PAT 的文件。
-X FILE --exclude-from=FILE 排除所有匹配在 FILE 中列出的模式的文件。
-S FILE --starting-file=FILE 當比較目錄時,由 FILE 開始比較。
--from-file=FILE1 將 FILE1 和操作數中的所有文件/目錄作比較。FILE1 可以是目錄。
--to-file=FILE2 將操作數中的所有文件/目錄和 FILE2 作比較。FILE2 可以是目錄。
--horizon-lines=NUM (此選項不做處理)
-d --minimal 盡可能找出最小的差異。
--speed-large-files 假設文件十分大而且其中含有許多微小的差異。
-v --version 輸出版本信息。
--help 輸入本幫助。
FILES 的格式可以是『FILE1 FILE2』、『DIR1 DIR2』、『DIR FILE...』或
『FILE... DIR』。
如果使用 --from-file 或 --to-file 選項,FILES 的格式則不受限制。
如果 FILE 是『-』,則由標准輸入讀取內容。
請向 <[email protected]> 報告錯誤。
❹ linux 怎麼比較兩個目錄中的文件
1、給每個目錄所有文件生成hash值文件,然後再比較hash值文件區別。
2、創建文件
find ./dir1 -type f |xargs openssl md5 > a.txt
find ./dir2 -type f |xargs openssl md5 > b.txt
3、比較
diff a.txt b.txt
❺ linux怎麼比較兩個文件最新
在編碼過程中, 經常會用到文件對比功能, Vim 包含了文件對比工具 vimdiff, 用 vimdiff
可以容易地實現文件對比,如要對比file1與file2,直接輸入vimdiff file1 file2 即可
❻ linux 中兩個文檔怎麼對比內容是否一致
可以用diff命令對比文檔內容。
[語法]: diff [參數] 文件1 文件2
[說明]: 本命令比較兩個文本文件,將不同的行列出來
-b 將一串空格或TAB 轉換成一個空格或TAB
-e 生成一個編輯角本,作為ex 或ed 的輸入可將文件1 轉換成文件2
[例子]:
diff file1 file2
diff -b file1 file2
diff -e file1 file2 >edscript
diff 命令的常用參數
a 將所有文件當做文本文件來處理
b 忽略空格造成的不同
B 忽略空行造成的不同
q 只報告什麼地方不同,不報告具體的不同信息
H 利用試探法加速對大文件的搜索
i 忽略大小寫的變化
l 用pr對輸出進行分頁
r 在比較目錄時比較所有的子目錄
s 兩個文件相同時才報告
v 在標准輸出上輸出版本信息並退出
實例:比較兩個文件
代碼如下:
[root@localhost test3]# diff log2014.log log2013.log
----------------------------------------------------------------------------
3c3
《 2014-03
---
》 2013-03
8c8
《 2013-07
---
》 2013-08
11,12d10
《 2013-11
《 2013-12
----------------------------------------------------------------------------
說明:上面的「3c3」和「8c8」表示log2014.log和log20143log文件在3行和第8行內容有所不同;「11,12d10」表示第一個文件比第二個文件多了第11和12行。
❼ Linux中怎樣對比兩個文件呢
在編碼過程中, 經常會用到文件對比功能, Vim 包含了文件對比工具 vimdiff, 用 vimdiff
可以容易地實現文件對比,如要對比file1與file2,直接輸入vimdiff file1 file2 即可,關於這方面的資料可以參考下ZLG的《嵌入式Linux開發上冊》,基礎知識講的比較詳細。
❽ linux比較文件輸出不同的內容
linux比較文件輸出不同的內容目前據我所了解的有如下幾種方法,來比較兩個文件的行,以輸出他們的不同之處:1)
comm
mission:
comm
[-123]
file1
file2
[>
sfile]
NOTE:
file1,file2
must
be
firstly
sorted
!
-1/2/3
means:
-1
-----
rid
the
only
retained
contents
in
file1
-2
-----
rid
the
only
retained
contents
in
file2
-3
-----
rid
the
communal
lines
in
both
two
files
正如,上面說的那樣,comm命令運用的前提是針對兩個sorted文件!
該命令是對兩個已經排好序的文件進行比較。其中file1和file2是已排序的文件。comm讀取這兩個文件,然後生成三列輸出:僅在file1中出現的行;僅在file2中出現的行;在兩個文件中都存在的行。如果文件名用-
,則表示從標准輸入讀取。選項1、2或3抑制相應的列顯示。例如comm
-
12就只顯示在兩個文件中都存在的行;comm
-
23隻顯示在第一個文件中出現而未在第二個文件中出現的行;comm
-
123則什麼也不顯示。2)
grep
mission:
grep
-v
-f
file1
file2/*註::此法在對比數字時候比較湊效果,文本對比不建議使用*/3)
awk
mission:
awk
'{print
NR,$0}'
file1
file2
|sort
-k2|uniq
-u
-f
1|sort
-k1|awk
'{print
$2}'或者:awk
'{print
$0}'
file1
file2
|sort|uniq
-u4)
diff
mission:
diff
[-opt]
file1
file2
❾ linux怎麼比對兩個文件指定內容
可以comp或diff不,忘記了;
其實還有一個,就是md5sum,如果結果一致,那麼文件必然(大概率)相同。
❿ linux 比較兩個文件不同內容
通過你的描述,可以通過如下命令來進行:
diff -y aa.txt bb.txt -W 100
註:
-y 以並列的方式進行顯示
-W 指定顯示的寬度
以上就是關於兩個文件內容的比較命令,希望能幫到你。。。。。。