【发布时间】:2016-11-02 13:25:05
【问题描述】:
我有一个 awk 脚本,testscript.script,带有命令:
$5 > 0 {print $1}
哪个输出
Lebron
Kobe
James
Tony
如何将此命令存储到变量 var 中,这样当我在代码中的任何位置说 print var 时,上面的输出都会打印出来?
【问题讨论】:
我有一个 awk 脚本,testscript.script,带有命令:
$5 > 0 {print $1}
哪个输出
Lebron
Kobe
James
Tony
如何将此命令存储到变量 var 中,这样当我在代码中的任何位置说 print var 时,上面的输出都会打印出来?
【问题讨论】:
你需要命令替换,$():
var=$(awk ...)
awk 命令的 STDOUT 将保存在变量 var 中。
现在,你可以这样做了:
echo "$var"
获取输出。
【讨论】:
var = $($3 + $4 + $5 > 500 {print $1 $2 | "sort"}) 会产生语法错误。这里出了什么问题?通常,会显示此命令的标准输出。
=周围不能有空格,你需要:var=$(your_command_here)
var=$(print "hello world") 并且仍然失败),以及它被放置在 awk 脚本中的哪个位置,我似乎都会遇到语法错误。这可能是由于本身有一个 awk 脚本吗?我使用awk -f testscript.script inputfile 调用脚本
print,使用echo:var=$(echo "hello world")
if(x > 5) {print "Hello World"} 存储到var 变量中?