2 个文本文件。我必须从两个文本文件中找到 uniq 值,并在第三个文件中获取输出以及文件名和 uniq 值。例如a.txt
1
4
3
b.txt
2
1
7
输出
File.out
b.txt 2
a.txt 3
a.txt 4
b.txt 7
我尝试了下面的命令
cat a.txt b.txt | sort | uniq -u >>file.out
但它只打印值,而不获取文件名
答案1
您可以使用 Awk 在文件名前面添加,然后对第二个字段进行 sort + uniq:
$ awk '{print FILENAME,$0}' a.txt b.txt | sort -k2 | uniq -uf1
b.txt 2
a.txt 3
a.txt 4
b.txt 7