这里有两个文本文件,A 和 B 都包含多个单词项,用换行符或空格符分隔。 现在我想比较A和B,找到两个文件中相同的项目,然后从A中删除它们, 在 bash 中。有什么好主意吗?
最佳答案
阿尔夫的答案看起来是正确的。但是,如果您不关心输出文件中的单词分隔符,那么这可能是优化的解决方案:
grep -w -v -f <(sed 's/[ \n\t]\+/\n/g' A) <(sed '$s/[ \n\t]\+/\n/g' B)
如果两个文件中的数据已排序/顺序相同,那么您还可以使用comm
comm -13 <(sed 's/[ \n\t]\+/\n/g' A) <(sed 's/[ \n\t]\+/\n/g' B)
关于linux - 如何找到两个文本文件之间的相同部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19637291/