解析两个输入文件并比较行的存在

解析两个输入文件并比较行的存在

我需要获取两个文本文件并检查文件 A 中存在的行是否在文件 B 中的任何地方都不存在。

文件 A 中在文件 B 中不存在的每一行都应复制到输出日志中。

我的一个朋友建议我使用 SED,但是我以前从未使用过它,那么我该怎么做呢?

答案1

听起来这些线条应该是独一无二的,顺序并不重要,所以试试这个:

sort fileA > fileA.sort
sort fileB > fileB.sort
diff fileA.sort fileB.sort | sed -n "/^</{s/< //;p}"

答案2

仅存在于文件 A 中的行:

comm -23 <(sort fileA) <(sort fileB) > output.txt

fileA 特有的所有行都将保存在文件中output.txt

相关内容