在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