如何通过linux shell 将两个文件中的内容,进行多条件匹配,并且做并集合并?比如:

如何通过linux shell 将两个文件中的内容,进行多条件匹配,并且做并集合并?比如:,第1张

# cat 1

1 AAA FN123 100010.0362

2 BBB FN456 200015.8355

# cat 2

1 AAA FN123 200020.0362

2 BBB FN456 300045.8355

3 CCC FN1a3 200020.0362

# cat 1 2 |sort -n -k4 -r|awk '!a[$2]++'|awk 'BEGIN{i=1}{if(i<=NR){print i,$2,$3,$4,$5i++}}'

1 BBB FN456 3000 45.8355

2 CCC FN1a3 2000 20.0362

3 AAA FN123 2000 20.0362

Linux 命令大全

Linux join命令用于将两个文件中,指定栏位内容相同的行连接起来。

找出两个文件中,指定栏位内容相同的行,并加以合并,再输出到标准输出设备。

参数

连接两个文件。

为了清楚地了解join命令,首先通过cat命令显示文件testfile_1和 testfile_2 的内容。

然后以默认的方式比较两个文件,将两个文件中指定字段的内容相同的行连接起来,在终端中输入命令:

首先查看testfile_1、testfile_2 中的文件内容:

然后使用join命令,将两个文件连接,结果如下:

文件1与文件2的位置对输出到标准输出的结果是有影响的。例如将命令中的两个文件互换,即输入如下命令:

最终在标准输出的输出结果将发生变化,如下所示:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8660081.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存