比较文本文件中列出的文件

时间:2014-10-12 22:12:22

标签: linux bash shell unix

我有一个文本文件,其中包含具有相同名称的文件的绝对路径,我希望以某种方式将这些文件相互比较以查看内容是否相同。

理想情况下,输出将是相同的文件。

使用cmp命令会有效吗?

1 个答案:

答案 0 :(得分:0)

是的,cmp适合您。 您可以使用shell函数

compare () { cmp -s $1 $2 && echo $1 is equal to $2 ; }

或者,如果你很勇敢,甚至

compare () { cmp -s $1 $2 && rm $1 ; }

如果您的文件每行有两个文件名,则可以将其编辑为 在顶部插入函数定义,并在每行的开头放置compare,如下所示

% cat filenames
compare () { cmp -s $1 $2 && echo $1 is equal to $2 ; }
compare ./a/a ./b/a
compare ./e/c ./b/c
...
% sh filenames
./e/c is equal to ./b/c
...
% 

假设a不同且c相等。