我正在使用如下脚本
脚本
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 值不是正确的值......
我正在使用如下脚本
脚本
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 值不是正确的值......
我将您的问题理解为“如何在调用 awk 的外壳中使用我的 awk 脚本的结果”。事实是,这并不是微不足道的。您不会期望能够在 shell 中轻松使用 C 程序或 python 脚本的输出。awk 也是如此,它本身就是一种脚本语言。
有一些解决方法。对于一个健壮的解决方案,将 awk 脚本中的结果以适当的简单格式写入文件,然后从 shell 中读取它们。作为 hack,您还可以尝试使用$()
. 将其与set
命令结合起来,您可以执行以下操作:
set -- $(awk <awk script here>)
然后使用$1
$2
等,但你必须小心 awk 输出中的空格。