请问如何用shell命令输出两个文件第一列不相同的行,如图所示,谢谢了,急用
展开全部
cat b.text|tr -s " " "\t"|cut -f1 > c.tmp
grep -v -F -f c.tmp a.text
rm c.tmp
追问
谢谢,我知道这样一条命令:
awk 'NR==FNR{a[$1]=$0;next}NR>FNR{if($1 in a);else print $0"\n"a[$1]}' a.txt b.txt > c.txt
结果是
111 32
111 22
114 20
114 21
输出的是第一列相同的行,请问怎么修改可以改为输出第一列不相同的行
追答
awk '{a[$1]++;b[$1]=$0} END {for(c in a) if(a[c]==1) print b[c]}' a.txt b.txt > c.txt
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询