如何在awk

时间:2015-08-18 07:53:55

标签: linux awk

我需要在以下awk cmd中传递一些变量,

awk -F, 'NR==FNR{a[\$0]++;next}!(a[\$6])' "file1" "file2" > output

我需要将其作为变量传递,而不是提供值 6

1 个答案:

答案 0 :(得分:0)

以下是使用-v将变量传递给awk的示例。另请注意,如果您在awk程序周围使用单引号,则不希望转义$

$ cat file1.txt
1
4

$ cat file2.txt
1,2
3,4

$ awk -F, -v i=1 'NR==FNR{a[$0]++;next} !(a[$i])' file1.txt file2.txt
3,4

$ awk -F, -v i=2 'NR==FNR{a[$0]++;next} !(a[$i])' file1.txt file2.txt
1,2