使用每个文件预处理的递归差异

使用每个文件预处理的递归差异

如何在不编写太多脚本的情况下获得diff -r left_dir right_dir和的综合效果diff <(cat left_file | myfilter) <(cat right_file | myfilter)

答案1

如果你的文件名很简单(没有空格等),你可以使用

left_dir=...
right_dir=...
find $left_dir -type f | while read left ; do
    relpath=${left#$left_dir}
    diff <(myfilter $left) <(myfilter $right_dir$relpath)
done

如果这已经是“大量脚本”并且仍然存在问题(文件名中的空格、一侧不存在的文件等),那么您可能运气不佳。

相关内容