如何从两个不同的文件夹中区分同名文件?

时间:2013-11-25 14:27:27

标签: svn sed awk

我看到了这一点,但它并不能完全满足我的需要。 Diff files present in two different directories

我希望扩展所有pom.xml文件,但是要从多模块struncture中的两个不同的目录树中进行区分。所以我有

DIR1 / pom.xml的
DIR1 /模块1 / pom.xml的
DIR1 /模块1 / PROJECT1 / pom.xml的
DIR1 /模块2 / pom.xml的
等...

DIR2 / pom.xml的
DIR2 /模块1 / pom.xml的
DIR2 /模块1 / PROJECT1 / pom.xml的
DIR2 /模块2 / pom.xml的
等...

我想在dir1和dir2之间区分所有pom.xml文件和仅pom.xml文件。我目前正在使用SVN,因此sed或svn特定的命令可能会有所帮助。谢谢!

2 个答案:

答案 0 :(得分:0)

如果文件夹结构相同,则可能正在运行:

cd dir1
find . -name pom.xml -exec diff {} ../dir2/{} \;

我现在无法测试......

答案 1 :(得分:0)

假设两个目录中都存在相同的文件名:

find dir1 -name pom.xml |
while IFS= read -r file1
do
    file2="${file1//dir1/dir2}"
    diff "$file1" "$file2"
done

如果没有,只需为现有文件添加测试,然后向另一个方向添加第二个循环。