我正在使用下面的脚本
SCRIPT
declare -a GET
i=1
awk -F "=" '$1 {d[$1]++;} {for (c in d) {GET[i]=d[c];i=i+1}}' session
echo ${GET[1]} ${GET[2]}
说明
问题是外面打印的GET值不正确...
答案 0 :(得分:2)
我理解你的问题是“如何在调用awk的shell中使用我的awk脚本的结果”。事实是,它并非真正微不足道。您不希望能够在shell中轻松地使用C程序或python脚本的输出。与awk相同,awk是一种自己的脚本语言。
有一些解决方法。要获得强大的解决方案,请将awk脚本中的结果以适当简单的格式写入文件,并从shell中读取它们。作为一个hack,您还可以尝试使用$()
将awk的输出直接准备到shell中。将它与set
命令结合起来就可以了:
set -- $(awk <awk script here>)
然后使用$1
$2
等,但你必须小心awk输出中的空格。