Awk:检查值是否不在数组中
我试图通过awk读取两个单独的文件,并将第二个文件解析为输出文件 文件1包含以下数字:Awk:检查值是否不在数组中,awk,Awk,我试图通过awk读取两个单独的文件,并将第二个文件解析为输出文件 文件1包含以下数字: 1 2 5 7 10 文件2包含一个标题(字段数这一行程序应该满足您的要求: awk 'NR==FNR{a[$0];next}NF<3||!($22 in a)' file1 file2 awk'NR==FNR{a[$0];next}nf非常感谢!我忘记了默认情况下,awk检查数组中是否存在特定索引,而不是搜索值。 #!/bin/bash FieldNum=22 awk -v f=$Fi
1
2
5
7
10
文件2包含一个标题(字段数这一行程序应该满足您的要求:
awk 'NR==FNR{a[$0];next}NF<3||!($22 in a)' file1 file2
awk'NR==FNR{a[$0];next}nf非常感谢!我忘记了默认情况下,awk检查数组中是否存在特定索引,而不是搜索值。
#!/bin/bash
FieldNum=22
awk -v f=$FieldNum 'FNR==NR{num[$1]; next}
{
# print the header of file2
if(NF < 3) {print > "output"}
# check lines after header
else {if (f in num) {} else {print >> "output"}}
}' $file1 $file2
awk 'NR==FNR{a[$0];next}NF<3||!($22 in a)' file1 file2