我想比较两篇不同的文章。请查看以下详细信息以及我需要的内容
第一篇正文内容:
111 xx1
222
333
555
第二篇正文内容:
333
111 xxx
222
888
我的问题
我正在搜索一个可以打印以下结果的命令:
“更新:111xxx”
“删除:555”
“地址:888”
最重要的是它应该显示标题“更新”,“删除”,“添加”。
答案1
你正在寻找
diff <(sort file1) <(sort file2)
这将给予
1c1
< 111XZ
---
> 111 xxx
3a4
> 888
其中“<”表示文件 1 中的数据,“>”表示文件 2 中的数据。
注意输出,这是一个伪ed
符号。
c
意味着换线a
表示附加d
表示删除(上面的示例中没有)
你可以做
diff <(sort file1) <(sort file2) |
awk '$1 == "<" {$1=" in file1 } $1== ">" { $1="in file2" } { print } '
(就在 之后的行尾|
)