我想从2个未分类的文件(比如file1和file2)中找到非唯一的行。我必须为它运行3个命令。
sort file1> file1_sort
sort file2> file2_sort
comm -3 file1_sort file2_sort
我可以在不制作临时文件和单一命令的情况下完成吗?
谢谢,
答案 0 :(得分:4)
comm -3 <(sort file1) <(sort file2)
答案 1 :(得分:1)
您的说明与您拥有的命令不符。你说你想要非唯一的行,但是comm -3
会删除非唯一的行。
sort file1 file2 | uniq -d
sort file1 file2 | uniq -u
第一行为您提供非唯一行(即file1和file2中的行)。第二行为您提供了唯一的行(即仅出现在file1或file2中但不同时出现在两者中的行)。
答案 2 :(得分:0)
如果您对非独特线感兴趣,请尝试:
cat file1 file2 | sort | uniq -c | sort -n
答案 3 :(得分:0)
你根本不需要排序。
awk 'NR==FNR{a[$0]=1}NR>FNR{if($0 in a)print $0}' file1 file2 > result.file