awk system()中再次调用awk
本帖最后由 u013514345 于 2014-03-20 04:05:55 编辑
我现在使用awk的for循环做数据处理,然后在循环中使用system()调用了系统命令和grep/sed
但是在处理完之后的一组数据,我仍然想使用awk的'{print $}'来提取第i 个字符串,请问该如何实现?此时的内建参数都是循环外awk设置的,相当与在循环内递归调用另一组awk
程序大致流程如下:
awk for(...) {
system("
system call" | grep ... | sed ...|
awk '{print $1}')
}
黑体部分是我想要递归调用的awk,此时print的$1是sed后的结果,而不是循环外的awk设置的
我能想到的是再自定义一个函数?或者,用sed实现awk的这一功能的话,该如何做?
谢谢大家!
------解决方案--------------------echo A B C
------解决方案--------------------
awk '{system("echo 1 2 3
------解决方案--------------------
grep 3
------解决方案--------------------
sed 's/1/hello/'
------解决方案--------------------
awk \x27{print $1}\x27")}'