
说明:
NR(Number of Record)为记录数。awk按行处理文本,一行就是一条记录。awk每读入一行,NR就自增1,所以NR可以用来指示第几行。这里NR==2就表示只处理第2行。
或者也可以先使用 tail -n 1 取出尾行后再用awk处理。
你算问对人咯。使用linux的comm如果是WIN下的文件,注意先转换换行符号!!!
先对文件进行排序去重复:sort filename1 |uniq>filename1-sorted
然后对第2个文件也排序去重复并管道使用comm 找出符合你要求的:
共同拥有的行:sort filename2|uniq|comm -12 - filename1-sorted>共同拥有的
文件 filename1-sorted独有的: sort filename2|uniq|comm -13 - filename1-sorted>filename1-sorted独有
文件 filename2独有的: sort filename2|uniq|comm -23 - filename1-sorted>filename2独有。
赶紧给分,哈哈!
用comm相对比较简单,也可以用 awk做:
共同拥有的:
gakw 'ARGIND==1{a[$1]=$1} ARGIND>1{if(a[$1]!="") print $0}' file1 file2>共同拥有
gakw 'ARGIND==1{a[$1]=$1} ARGIND>1{if(a[$1]=="") print $0}' file1 file2>file2独有
gakw 'ARGIND==1{a[$1]=$1} ARGIND>1{if(a[$1]=="") print $0}' file2 file1>file1独有
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)