我想根据是否满足某些要求将 shell 中的变量设置为 true。该要求由awk.
所以这就是我所做的
$ different=false
$ awk 'if (certain requirements met) {'different=true'}' inputfile
$ if $different; then
print "Different
但是,不同的不设置为true。
PS我certain requirements met的绝对是真的。
谢谢
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
这是你如何做到的。
different=$(awk 'if (certain requirements met) {print "true"}' infile)