2012-08-12 81 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;