Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash awk;按文件1搜索文件2_Bash_Awk - Fatal编程技术网

Bash awk;按文件1搜索文件2

Bash awk;按文件1搜索文件2,bash,awk,Bash,Awk,我到处搜索,但没有找到awk的确切代码 我有两个文件。 文件1(单列): 文件2(三列): 文件1和文件2的记录数不相等。 我想打印文件2中的记录,当文件2中的Col1和Col2都与文件1中的Col1匹配时。 在此示例中,输出应为: 1790775963,1932373552,65 谢谢大家! A尝试以下操作: awk -F',' 'NR==FNR {arr[$1]++; next} (($1 in arr) && ($2 in arr)) {print $0}' file1

我到处搜索,但没有找到awk的确切代码

我有两个文件。 文件1(单列):

文件2(三列):

文件1和文件2的记录数不相等。 我想打印文件2中的记录,当文件2中的Col1和Col2都与文件1中的Col1匹配时。 在此示例中,输出应为:

1790775963,1932373552,65
谢谢大家!

A

尝试以下操作:

awk -F',' 'NR==FNR {arr[$1]++; next} (($1 in arr) && ($2 in arr)) {print $0}' file1 file2
输出:

1790775963,1932373552,65
编辑

或者更简洁地按照


惯用的方式awk-F,'NR==FNR{a[$0];next}($1 in a)和&($2 in a)@sudo_O谢谢你的建议。我已将其添加到我的解决方案中。
awk -F',' 'NR==FNR {arr[$1]++; next} (($1 in arr) && ($2 in arr)) {print $0}' file1 file2
1790775963,1932373552,65
awk -F, 'NR==FNR{a[$0];next}($1 in a)&&($2 in a)' file1 file2