我需要在以下awk cmd中传递一些变量,
awk -F, 'NR==FNR{a[\$0]++;next}!(a[\$6])' "file1" "file2" > output
我需要将其作为变量传递,而不是提供值 6 ?
答案 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