-3

我想写一个unix脚本,其中:

源目录:/test1/jobs/def1,def2,def3....等等目标目录:/test2/jobs/def1,def2,def3....等等

场景1:我想比较源目录和目标目录中的作业文件夹都具有完全相同的文件,如def1、def2、def3等。如果在目标中找不到任何文件,它应该在日志文件中捕获该差异.

场景2:现在一旦文件级别检查完成:

源目录:/test1/jobs/def1,def2,def3,mam1,mam2,mam3,mam4,try1,try2,try3,cus1,cus2,cus3,kit1,kit2,kit3.....等等

目标目录:/test2/jobs/def1,def2,def3,mam1,mam2,mam3,mam4,try1,try2,try3,cus1,cus2,cus3,kit1,kit2,kit3.....等等

现在我需要编写一个脚本,我应该在运行时将输入参数作为字符串传递,例如,如果我给出'def',那么脚本应该只比较以 def 开头的文件的内容,从源到目标而不是所有其他的.. 如果内容不匹配,而不是应该在我的日志文件中捕获。

任何帮助深表感谢。提前致谢。Ĵ

4

1 回答 1

0

你不需要脚本。您需要的是一个用于比较文件和/或目录的工具。你可以试试MeldGit

例如,这是一个如何使用 Git 完成此操作的示例:

$ cd test1
$ git init
$ git add .
$ git commit -m "Add source files"
$ git branch -M master source
$ cd ../test2
$ mv ../test1/.git .
$ git checkout -b target
$ git add .
$ git commit -m "Add target files"

这将为您设置一个包含“源”和“目标”文件的 Git 存储库。然后你可以像这样比较它们:

$ git diff source target             # Compares everything
$ git diff source target jobs/def*   # Compares only "def" directories
于 2013-05-21T18:34:23.687 回答