我尝试过以下命令:
awk '/search-pattern/ {print $1}'
如何编写上述命令的 else 部分?
经典方式: https://www.gnu.org/software/gawk/manual/gawk.html#If-Statement
awk '{if ($0 ~ /pattern/) {then_actions} else {else_actions}}' file
$0
代表整个输入记录。
另一种惯用的方式 https://www.gnu.org/software/gawk/manual/gawk.html#Conditional-Exp基于三元运算符语法selector ? if-true-exp : if-false-exp
awk '{print ($0 ~ /pattern/)?text_for_true:text_for_false}'
awk '{x == y ? a[i++] : b[i++]}'
awk '{print ($0 ~ /two/)?NR "yes":NR "No"}' <<<$'one two\nthree four\nfive six\nseven two'
1yes
2No
3No
4yes
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)