2011-06-29 115 views
0

我試圖找到知道,如果兩個文件是相同的方式,發現這個帖子...比較2個文件shell腳本

Parsing result of Diff in Shell Script

我使用的代碼中的第一個答案,但我認爲這是行不通的或至少我不能讓它正常工作...

我甚至試圖做一個文件的副本和比較兩個(複製和原始),我仍然得到答案,如果他們是不同的,當他們不應該。

有人能給我一個手,或解釋發生了什麼?

非常感謝;

佩希

+0

對不起,但幾乎不可能像書面回答你的問題。 –

+0

對不起,我不是母語爲英語的人...... – peixe

回答

3

你是不是想比較,如果兩個文件具有相同的內容,或者是你想找到,如果它們是相同的文件(兩個硬鏈接)?

如果你只是比較兩個文件,然後嘗試:

diff "$source_file" "$dest_file" # without -q 
才能看到的應該區別

cmp "$source_file" "$dest_file" # without -s 

您也可以嘗試md5sum

md5sum "$source_file" "$dest_file" 

如果兩個文件返回相同的校驗,那麼它們是相同的。

+0

好的,謝謝@PacoRG! md5sum選項解決了我的問題。 – peixe

+0

無論如何......如果兩個文件具有相同的內容,即使按不同的順序,也可以選擇進行比較嗎? – peixe

+1

使用'sort'。 'sort $ file1> tmpfil1;對$ file2> $ tmpfile2'進行排序,然後比較$ tmpfile1和$ tmpfile2(並刪除它們)。 –

0

comm是比較文件的有用工具。

的COMM實用程序將讀取file1的file2的,這應該在當前的整理序列 排序,並且產生三個 文本列作爲輸出:僅在文件1 線;只在 file2;和兩個文件中的行。