我想将shell中的变量设置为true,具体取决于是否满足某些要求。该要求由awk
确定。
所以这就是我做的事情
$ different=false
$ awk 'if (certain requirements met) {'different=true'}' inputfile
$ if $different; then
print "Different
但是,不同的设置不是true
。
PS我的certain requirements met
绝对是真的。
谢谢
答案 0 :(得分:4)
awk
无法在调用它的shell中设置变量。您可以使用exit
设置awk
的退出状态:
$ if awk 'if (certain requirements met) {exit 0} else { exit 1 }' inputfile; then
> printf "different\n"
> fi
或者在变量中捕获awk
的输出:
$ different=$( awk 'if (certain requirements met) { print "true" } else { print "false" }' inputfile )
$ if [[ $different = true ]]; then
> printf "different\n"
> else
> printf "Not different"
> fi
答案 1 :(得分:2)
这是你如何做到的。
different=$(awk 'if (certain requirements met) {print "true"}' infile)