【发布时间】:2021-09-28 17:35:50
【问题描述】:
我试图在另一个文件或标准输出中获取两个文件、行号和内容的差异。我尝试了以下操作,但无法获得所需的确切输出。请看下文。
文件内容:
文件1:
Col1,Col2,Col3
Text1,text1,text1
Text2,text2,Rubbish
文件2:
Col1,Col2,Col3
Text1,text1,text1
Text2,text2,text2
Text3,text3,text3
我已经尝试了以下代码,它没有提供确切的所需输出,因为它只显示了第一个文件中的差异,而不是 file2 中的额外行。
sort file1 file2 | uniq | awk 'FNR==NR{ a[$1]; next } !($1 in a) {print FNR": "$0}' file2 file1
输出
3: Text2,text2,Rubbish
期望的输出
3: Text2,text2,Rubbish (File1)
3: Text2,text2,text2 (File2)
4: Text3,text3,text3 (File2)
由于输出原因,我不希望使用 diff/sdiff/comm,因为我无法添加行号并并排组织数据以便于阅读。普通文件会超过 1000 行,因此 diff/sdiff 实用程序变得更难阅读。
【问题讨论】: