我通常使用
awk BEGIN {FS=" "} NR==FNR{arry[$1]=$0; next} $1 in array && $0=arr[$1] FS in fields infile1 infile2 > outfile
根据感兴趣的字段提取2个文件中的公共字段。但这次我需要无法比拟。我有2个相同行的文件,但第二个文件中的200行与file1
中的编码不同。
我试图:
paste f1 f2 | sort -n -k1,2
两个字段都希望获得$1==$2
并获取不相等的字段,但即使应该存在,我也不会得到$1==$2
。
我该怎么做?
答案 0 :(得分:1)
由于您似乎比较第一个字段,因为我不知道您的数据文件是什么样的,我将盲目地尝试这个:
$ cat data1.txt
dana 100
john 101
fiona 102
$ cat data2.txt
dana 100
john 501
fiona 102
$ cat data[12].txt|sort|uniq -u
john 101
john 501
上述解决方案将根据第一个字段打印出不相同的行。由于我不完全理解您的数据文件,我会问这个问题。以下是否解决了您的问题?
diff data1.txt data2.txt