是否有任何 Linux/Unix 工具可以查找一个目录中不存在的另一个目录中的所有文件?基本上,我正在寻找对 ls 输出有效的 diff。
简短而甜蜜的剧本也受到赞赏。
答案1
diff
已经这样做了:
diff dir1 dir2
示例输出:
Only in dir1: some_file.txt
Only in dir1: some_other_file.txt
Only in dir2: third_file.txt
答案2
重击:
diff <(cd dir1; ls) <(cd dir2; ls)
仅比较文件名 - 而不是文件内容。
答案3
就像人们在这里告诉你的那样,你可以在各种用法变体中使用 DIFF。或者你只是使用dirdiff
,这适合你正在尝试的东西!:-)
但如果您想保持一些目录同步,那么您真的应该看看rsync
。
问候
答案4
for i in $(ls -1 directory1); do if (test -f directory2/$i) then echo $i; fi; done