使用awk保留文件1中的行与文件2中的值匹配 [英] Keep rows from file 1 matching values from file 2 using awk
本文介绍了使用awk保留文件1中的行与文件2中的值匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
主文件的内容-
$ cat Sort_File2.csv
'SR'|'2017-09-01 00:19:13'|'+05:30'|'1A3LA7015L5O'|'5042449534546015801549'
'SR'|'2017-09-01 00:19:13'|'+05:30'|'1A3LA7015L5O'|'5042449534546015801549'
'SR'|'2017-09-01 00:19:13'|'+05:30'|'1A3LA7015L5Q'|'5042449536906016501541'
'SR'|'2017-09-01 00:19:20'|'+05:30'|'1A3LA7015L6I'|'5042449603146028701548'
要匹配的文件内容-
$ cat DuplicatesEqTo1_f2.csv
1|'5042449536906016501541'
1|'5042449603146028701548'
我希望Awk
语句在文件中存储Sort_File2.csv
中的行与文件DuplicatesEqTo1_f2.csv
中的值匹配.
I want the Awk
Statement to Store in File the Rows from Sort_File2.csv
matching with the values from in the file DuplicatesEqTo1_f2.csv
.
我想要的输出-
'SR'|'2017-09-01 00:19:13'|'+05:30'|'1A3LA7015L5Q'|'5042449536906016501541'
'SR'|'2017-09-01 00:19:20'|'+05:30'|'1A3LA7015L6I'|'5042449603146028701548'
请注意,我尝试了下面的语句,该语句不起作用并且不返回任何内容-
Note I tried the Below Statement its not working and not returning anything--
awk -F'|' 'NR==FNR{++a[$2];next} $1 in a' DuplicatesEqTo1_f1.csv Sort_File1.csv
推荐答案
您可以将join用于此作业.
You can use join for this job.
var=5;join -t '|' -1 "$var" -2 2 -o 1.1 1.2 1.3 1.4 1.5 Sort_File2.csv DuplicatesEqTo1_f2.csv
这篇关于使用awk保留文件1中的行与文件2中的值匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文