比较多个数据文件

比较多个数据文件

我有多个包含文本数据的文件。我需要每个文件都只包含与所有其他文本文件不同的行。例如,textfile1 有一个名为“foobar”的行条目,但 textfile15 也有。对多个文件的各个行进行比较以确定其唯一性的最佳方法是什么?

答案1

要查找所有文本文件是否都是唯一的:

cat *.txt | wc -l ; cat *.txt | sort -u | wc -l

如果线条匹配,则它们是唯一的。

要查找存在的重复项:

cat *.txt | sort | uniq -d 

以下是更完整的场景:我下载了歌曲。当我下载新歌时,我想确保我不会重复。所以我会这样做

find . -name *.txt | sort -u > catalog.music  

现在假设我找到一个稍后要下载的播放列表。并且此播放列表位于 downloadNew.txt 中。我会这样做

grep -F -f downloadNew.txt catalog.music 

如果搜索不成功,则 downloadNew.txt 是唯一的,否则存在重复。

相关内容