请问如何用shell命令输出两个文件第一列不相同的行,如图所示,谢谢了,急用

 我来答
albumin
2016-12-02 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2385万
展开全部
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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式