我想获取两个具有冗余条目的文件之间的剩余差异。
File1.txt:
Data1
Data1
Data2
Data2
Data3
Data3
Data3
Data3
Data4
Data5
Data6
Data6
and
File2.txt
Data1
Data2
Data2
Data3
Data3
Data4
Data5
Data6
Finalfile.txt
Data1
Data3
Data3
Data4
Data6
换句话说:如果某个条目在文件 1 中出现 n 次,在文件 2 中出现 m 次,则最终文件应包含 n-m 个条目。 即:看到 File1.txt 中有四个 Data3 条目,而 File2.txt 中只有两个条目,因此 Finalfile.txt 出现了 2 次 Data3。
我已经尝试过了
grep -v -f File1.txt File2.txt > Finalfile.txt but it give the absolute differences.
您可以使用这个2遍
awk
解决方案:
awk '
NR == FNR {
++fq[$1]
next
}
{
--fq[$1]
}
END {
for (s in fq)
for (i = 1; i <= fq[s]; ++i)
print s
}' file1 file2
Data1
Data3
Data3
Data6