IT技术博客大学习 共学习 共进步

awk调用shell,并将变量传递给shell

笑遍世界 2015-01-27 22:35:32 浏览 1,841 次

在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
12
jay@jay-linux:/tmp$ cat my.sh 
#!/bin/bashecho$1
jay@jay-linux:/tmp$ awk'{system("sh my.sh " $2)}' data.txt 
var2
2

建议继续学习

  1. Linux命令行里的“瑞士军刀” (阅读 11,441)
  2. AWK 简明教程 (阅读 9,141)
  3. awk命令,实现文件的合并与拆分 (阅读 6,960)
  4. AWK介绍 (阅读 6,580)
  5. 更快的IP库查找方法以及AWK中的二分查找 (阅读 6,400)
  6. awk 实例之二维数组 (阅读 5,920)
  7. 操作大文本,awk vs vim (阅读 4,960)
  8. SED命令行脚本快速参考,AWK命令行脚本快速参考,perl命令行脚本快速参考 (阅读 4,740)
  9. 从shell中向awk传递变量实例 (阅读 4,480)
  10. bash shell - sed及awk文本捕获及替换 (阅读 4,201)