将两个文件中的差异过滤到单独的文件中

将两个文件中的差异过滤到单独的文件中

我有2个文件可供比较。我想将两个文件中的不同记录传输到两个单独的文件中。

文件1

A|B|C|D

1|2|3|5

E|F|G|H

文件2

A|B|C|D

1|2|3|4

E|F|I|H

输出像... 文件3。

1|2|3|5

E|F|G|H

文件4。

1|2|3|4

E|F|I|H

答案1

您可以使用 来做到这一点comm

comm file1 file2 -23 > file3
comm file1 file2 -13 > file4

-23表示“仅 FILE1 特有的行”

-13表示“仅 FILE2 特有的行”

答案2

尝试这个,

diff File1 File2 | grep "^<" | sed 's/^< //g' > File3
diff File1 File2 | grep "^>" | sed 's/^> //g' > File4

输出:

cat File3
1|2|3|5
E|F|G|H

cat File4
1|2|3|4
E|F|I|H

相关内容