当前位置:  开发笔记 > 编程语言 > 正文

如何使用shell脚本比较两个不同目录中具有相同名称的文件

如何解决《如何使用shell脚本比较两个不同目录中具有相同名称的文件》经验,为你挑选了3个好方法。

在继续使用SVN之前,我曾经通过简单地保存/develop/目录,编辑和测试文件,然后将它们移动到/main/目录来管理我的项目.当我决定转移到SVN时,我需要确保这些目录确实是同步的.

那么,编写shell脚本[bash]以递归比较两个不同目录中具有相同名称的文件有什么好方法?

注意:上面使用的目录名称仅用于示例.我不建议将代码存储在顶层:).



1> Greg Hewgill..:

diff命令有一个-r选项来递归比较目录:

diff -r /develop /main


适合我!谢谢.此外,对于更漂亮的打印,diff -ru/develop/main也可以使用

2> Kent Fredric..:
diff -rqu /develop /main

它只会给你一个变化的总结:)

如果您只想查看文件/丢失文件

diff -rqu /develop /main | grep "^Only

如果你想让它们裸露:

diff -rqu /develop /main | sed -rn "/^Only/s/^Only in (.+?): /\1/p"



3> paxdiablo..:

我可用的差异允许递归差异:

diff -r main develop

但是用一个shell脚本:

( cd main ; find . -type f -exec diff {} ../develop/{} ';' )

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有