awk + печатать второе поле в строке, только если поле 4 равно 0 - PullRequest
3 голосов
/ 18 июня 2010

Как вывести $ 2 с помощью awk, только если четвертое поле не равно 0 (нулю).

line="root     13246 11314  457 15: qsRw -m1"

, тогда awk выведет 13246, но если

line="root     13246 11314  0 15: qsRw -m1"

, то awkничего не печатать

Ответы [ 2 ]

12 голосов
/ 18 июня 2010
awk '$4!=0{print $2}' file

или просто

awk '$4{print $2}' file

Синтаксис awk:

awk '/pattern/{action}' file

, часть "pattern" фактически является неявной структурой потока управления "if".Поэтому вы можете не указывать ключевое слово if.

7 голосов
/ 18 июня 2010
awk '{if ($4) print $2;}' < inputfile
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...