我的问题,
在构建过程中,a.c被复制到几个目录中,其中很少一个被修补,很少有人没有。我有一个预先打补丁的文件,我想对目录中找到的所有文件进行区分。我该如何解决这个问题?
任何帮助将不胜感激。我的谷歌搜索没有取得任何成功..
zerO One
答案 0 :(得分:2)
您可以尝试这样的事情
find . -name a.c | xargs -I $$ diff ~/good/a.c $$
选项-I
用于替换文字
有关详细信息,请参阅手册页:http://man7.org/linux/man-pages/man1/xargs.1.html
答案 1 :(得分:1)
而不是xargs,只需使用-exec
。
find . -name a.c -exec diff ~/good/a.c {} \;
{}
表示刚刚找到的文件。转义分号结束了exec选项。
如果你想要输出也只是像这样捕获它:
find . -name a.c -exec diff ~/good/a.c {} \; 2>&1 | tee diff.out
2>&1
捕获stdout和stderr。 tee
可让您同时观看并保存结果。如果要自动执行此操作,可以使用find 2>&1 > diff.out
。
希望这会有所帮助。如果没有,请更新以告诉我们您还需要什么。