Я не уверен, что это возможно в качестве одной строки в awk.По крайней мере, не легко.Требуется ли awk?Так как доступны однострочные решения оболочки, если awk является лишь частью решения.
Например, это однострочная оболочка (просто длинная строка):
awk '{ print $2 }' < {infile} | while read line; do grep -i "false $line" {infile} > /dev/null || echo $line; done | uniq
Этоне эффективно, но оно делает работу.
Для сравнения, самое короткое awk-решение, которое у меня есть, составляет около 25 строк (которые я могу опустить здесь, если хотите - оставьте комментарий, и я обновлю его соответственно).Но тогда это может означать, что вы можете сохранить это в файл и выполнить awk -f alltrue.awk < {infile}
.Я не уверен, что это строго классы как однострочный perl: -)
Лучшее понимание того, чего вы в конечном итоге пытаетесь достичь или для чего это может быть полезным.