3中计算文件补集方式 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    要求:求两个文件差集、并集、补集

    实验数据

    [root@jjy ~/q/data/tmp_data]# cat 1

    [root@jjy ~/q/data/tmp_data]# cat 2

    第 一中最简单的实现:

    利用comm,默认以\t分割,利用AWK很好分割

[root@jjy ~/q/data/tmp_data]# comm 1 2

    第二种利用sort uniqe组合实现

    主要利用uniq -u 唯一行,-d 重复行的特性

[root@jjy ~/q/data/tmp_data]# cat 1 1 2 | sort | uniq -d[root@jjy ~/q/data/tmp_data]# cat 1 1 2 | sort | uniq -u

    第三种利用awk 实现

    主要利用awk的内置变量NR 和FNR ,

    NR代表当前输出行数,FNR代表当前输出的文件行数

[root@jjy ~/q/data/tmp_data]# awk '{if (NR==FNR){a[$0]=$0} else { if ($0 in a) {print $0}}}'

最新文章