SAS比较两个文本文件(Unix / Windows)

时间:2012-08-12 20:31:27

标签: sas checksum sas-macro

我需要比较两个文本文件(在不同的目录中)以查看它们是否不同(二进制结果很好)。给定一个如下所示的数据集,这是否可以在datastep中进行?

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

或者,宏代码没问题! Checksum是一种可能性,我需要代码在windows和amp; UNIX。

2 个答案:

答案 0 :(得分:1)

将其传递给命令行(通过管道文件参考)

在Windows中,使用'comp'命令。

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

答案 1 :(得分: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;