Вы можете:
awk '
/:foo/ { print "do-things"; next }
/[[:blank:]]+foo[[:blank:]]+/ { print "do-some-other-things"; next }
{ print "do-else" }
' infile
Обратите внимание на оператор next
, который мы использовали; то есть перейти к запуску остальных кодов, если условие для данного блока было истинным; последний блок будет выполнен, если ни одно из двух условий вышеперечисленных блоков не было выполнено.
Думаю, ты хочешь:
awk -F: '
$2 ~ /^[[:blank:]]/ {
print "2nd field start with space"
}
$2 == "" || $2 ~ /^[^[:blank:]]/ {
print "2nd field does not start with space"
}
{ print }
' text_file