在Shell脚本中格式化Diff输出

时间:2014-07-29 14:51:50

标签: linux git bash shell

我目前正在使用(diff -q directory1 directory2)输出每个目录中不同的文件并将它们打印到html中的表中。 当前输出:"文件directory1 / file1和directory2 / file2不同"

我想要的:" file1已更改"

我不想使用comm或对文件进行排序,因为其他应用程序正在从文件中提取并且对排序很敏感。有关如何完成这项工作的任何想法吗?

2 个答案:

答案 0 :(得分:1)

这会有用吗?

diff -q $file1 $file2 | awk '{print $2 " has changed"}'

答案 1 :(得分:1)

你需要为不同的文件grep diff输出然后使用awk以新的格式打印文件名

diff -rq dir1 dir2 | grep "differ" | awk '{print $2 "has changed"}'