![使用 diff 样式对目录内容和文本文件逐行内容进行对比](https://linux22.com/image/1444914/%E4%BD%BF%E7%94%A8%20diff%20%E6%A0%B7%E5%BC%8F%E5%AF%B9%E7%9B%AE%E5%BD%95%E5%86%85%E5%AE%B9%E5%92%8C%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6%E9%80%90%E8%A1%8C%E5%86%85%E5%AE%B9%E8%BF%9B%E8%A1%8C%E5%AF%B9%E6%AF%94.png)
与许多文件和目录比较实用程序(包括 diff)不同,我只看到文字文件与文件(有时超过两个文件)和目录与目录的比较。
我正在寻找一种方法来将目录内容与文本文件的逐行内容进行比较。基本上,我有一个索引文件,其中逐行列出了所有目录列表,我想将其与实际数据目录进行比较/差异并列出结果(缺失文件)。
有人知道有什么工具/实用程序可以完成这项工作吗?我愿意接受任何能为我指明方向的建议或意见,任何帮助我都会感激不尽,如果有人认为这是一种解决方案,我非常乐意用各种命令编写脚本,尽管现有的应用程序是最好的。
答案1
假设我有一个目录/srv
,几周前我运行了类似的命令find /srv/ > /tmp/oldindex
。
您可以轻松地将其与当前系统进行比较,使用流程替代通过做这样的事情。
diff -u /tmp/oldindex <(find /srv/)
您可以使用许多选项来更改差异格式。您需要以相同的方式生成前后索引,或者需要使用一些工具来操作它们。