2013-07-03 154 views
1

兩個文件我有兩個文件FILE1.TXT和FILE2.TXT比較使用批處理

File1.txt: 

abc 
def 
xyz 

File2.txt 

abc 

比較兩者FILE1.TXT和FILE2.TXT並創建兩個文件,一個用差異和其他顯示相似之處。 任何人都可以幫助我這樣的批處理程序。

+3

'任何人都可以幫助我這樣一個批處理程序' - 你的意思是爲你寫一個嗎? – devnull

+1

'fc /?','find /?'和'findstr /?'可能是一個很好的起點。 – Stephan

回答

2

用於GNU Windows代碼:

awk "NR==FNR {a[$0]=$0; next}; {b[$0]=$0};a[$0]==$0;END {for (i in a) {if (b[i]==0) {print a[i] >\"diff.txt\"}};for (i in b) {if (a[i]==0) {print b[i]>>\"diff.txt\"}}}" file1 file2 

輸出例如:

 
>type file1,file2 

file1 


AAAAA 
44444 
BBBBB 
55555 
CCCCC 
66666 
DDDDD 

file2 


AAAAA 
11111 
BBBBB 
22222 
CCCCC 
33333 
DDDDD 

>awk "NR==FNR {a[$0]=$0; next}; {b[$0]=$0};a[$0]==$0;END {for (i in a) {if (b[i]==0) {print a[i] >\"diff.txt\"}};for (i in b) {if (a[i]==0) {print b[i]>>\"diff.txt\"}}}" file1 file2>match.txt 

>type match.txt,diff.txt 

match.txt 


AAAAA 
BBBBB 
CCCCC 
DDDDD 

diff.txt 


44444 
55555 
66666 
11111 
22222 
33333 

> 

在純

findstr /l /g:file1 file2>match.txt 
findstr /lv /g:file1 file2>diff.txt 
findstr /lv /g:file2 file1>>diff.txt