命令行界面 – 如何让diff只显示添加和删除的行?如果diff无法做到,有什么工具可以?

我怎样才能让diff只显示添加和删除的行?如果diff无法做到,有什么工具可以?
最佳答案
另一种看待它的方式:

显示仅存在于文件a中的行:(即从a中删除的内容)

comm -23 a b

显示仅存在于文件b中的行:(即添加到b的内容)

comm -13 a b

显示仅存在于一个文件或另一个文件中的行:(但不是两者)

comm -3 a b | sed 's/^\t//'

(警告:如果文件a包含以TAB开头的行,则它(第一个TAB)将从输出中删除.)

注意:两个文件都需要排序“comm”才能正常工作.如果它们尚未排序,您应该对它们进行排序:

sort <a >a.sorted
sort <b >b.sorted
comm -12 a.sorted b.sorted

如果文件非常长,这可能是一个很大的负担,因为它需要额外的副本,因此需要两倍的磁盘空间.

转载注明原文:命令行界面 – 如何让diff只显示添加和删除的行?如果diff无法做到,有什么工具可以? - 代码日志