LINUX.ORG.RU

awk if-else в однострочнике

 , else,


1

1

Как сделать конструкцию if-else в однострочнике awk? Вывести одно число или другое в зависимоти от уловия

★★★★★

Последнее исправление: sniper21 (всего исправлений: 1)

Ответ на: комментарий от sniper21

ну и ещё, к слову, в примере гремлина шаблона нет, поэтому код по-умолчанию исполняется для всех строк.

переписуемо вот так:

$ awk '$1 > 0 {print «yes»} $1 < 0 {print «no»}'
1
yes
2
yes
0
-1
no
-2
no

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

в примере гремлина шаблона нет

Есть - любая строка с разделителями RS.

переписуемо вот так:

И зачем «переписуемо»? Это два таких же любых шаблонов но с условиями.

vodz ★★★★★
()
Ответ на: комментарий от vodz

Дабы показать, что не обязательно условию находиться в самом действии

yoghurt ★★★★★
()

В однострочниках вот так надо.

$ echo 1 | awk '{ print ($1 > 0) ? "Yep" : "Nope" }'
Yep
$ echo 0 | awk '{ print ($1 > 0) ? "Yep" : "Nope" }'
Nope

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.