2012-08-12 83 views
0

我需要比較兩個文本文件(在不同的目錄中)以查看它們是否不同(二進制結果很好)。給定一個如下所示的數據集,這是可能的在一個datastep?SAS比較兩個文本文件(Unix/Windows)

Pathname 
c:\one\text1.txt 
c:\two\text1.txt 
c:\one\text2.txt 
c:\two\text2.txt 

另外,宏代碼會很好!校驗和是一種可能性,我需要在兩個窗口中運行代碼& unix。

+0

如果你可以看到整個文件的內容到一個變量,SAS有一個'MD5()'函數可以使用。但我不確定如何以這種方式讀取文件。 – itzy 2012-08-13 15:06:29

回答

1

它傳遞給命令行(通過管fileref)

在Windows中,使用「排版」命令。

在Unix中,使用'diff'命令。

+0

你會如何使用SAS來做到這一點? – 2012-10-17 16:29:25

0

感謝Chris的J - 這個工作對我來說:

%let root=%sysfunc(pathname(work)); 
data; 
file "&root.\x.txt"; 
put 'xxx'; 
data; 
file "&root.\x2.txt"; 
put 'xx x'; 
filename x pipe "diff &root.\x.txt &root.\x2.txt "; 
data; 
infile x; 
input x $1000.; 
run;