在Shell脚本中调用awk是非常自然和简单的,以前还写过一个关于awk/shell相互传递变量的文章:awk与shell之间的变量传递方法
在awk脚本中,如果需要调用shell脚本/命令,则需要使用system()函数,如果需要将变量传递给被调用的shell,则写为 system("sh my.sh " $var) 注意第二个引号前有一个空格。
awk调用shell,并将变量传递给shell,看下面的演示,就一下明白了:
1 2 3 4 5 6 7 8 9 |
jay@jay-linux:/tmp$ cat data.txt var1 var2 1 2 jay@jay-linux:/tmp$ cat my.sh #!/bin/bash echo $1 jay@jay-linux:/tmp$ awk '{system("sh my.sh " $2)}' data.txt var2 2 |
One Comment