我有两个目录。 dir1和dir2。如何查找在两个目录中具有不同内容的文件名
Dir1中的文件有:的abc.txt,abd.txt,abe.txt,abf.txt
在DIR2文件是:abi.txt,abd.txt,abe.txt,abg.txt,ABH .TXT
abd.txt和abe.txt存在两个目录,并且具有不同的内容。如何编写一个只返回这两个文件名的脚本? 我不想要在dir1或dir2中丢失的文件。我只需要具有相同名称并具有不同内容的文件名。
预先感谢您。
我有两个目录。 dir1和dir2。如何查找在两个目录中具有不同内容的文件名
Dir1中的文件有:的abc.txt,abd.txt,abe.txt,abf.txt
在DIR2文件是:abi.txt,abd.txt,abe.txt,abg.txt,ABH .TXT
abd.txt和abe.txt存在两个目录,并且具有不同的内容。如何编写一个只返回这两个文件名的脚本? 我不想要在dir1或dir2中丢失的文件。我只需要具有相同名称并具有不同内容的文件名。
预先感谢您。
一种间接的方式这样做是使用diff命令
diff -r dir1 dir2 | grep "diff -r"
diff -r dir1 dir2
会显示与同名的文件名作为diff -r dir1/file dir2/file
文件的差异。其他文件将以前缀Only
列出。
希望有人建议:-)像
谢谢@Pintu ..你的命令显示:diff -r dir1/abd.txt dir2/abd.txt和diff -r dir1/abe.txt dir2/abe.txt,这是可以的。但有什么办法只获取文件名? –
您可以使用剪切命令来输出结果。 'diff -r dir1 dir2 | grep“diff -r”| cut -d“”-f3 | xargs basename'。这应该有所帮助。 – Pintu
它工作@Pintu。非常感谢.. –
命令的简单的解决方案:COMM -23 <(LS DIR1 |排序)<(LS DIR2 |排序)将显示其不存在于任一目录中的文件。 –
SO指导方针表示,您应该告诉我们您到目前为止所尝试的内容,以及您如何得出结论(或者它给您的错误)。请尽力而为。 – SaintHax
这个? [Linux中2个目录之间的区别](http://stackoverflow.com/q/16787916/1983854)。 – fedorqui