Правильный синтаксис для сравнения поля с awk

Сначала я извиняюсь за этот идиотский вопрос.

Я хочу напечатать поле, если он равен значению.

Проблема в том, что я использую нестандартный полевой сератор и не понимаю, как заставить его работать.

 awk '{FS = "/" ; if($3=="value" print $3 }'

Благодарю.

1 ответ

Решение

Более хитрый способ таков:

awk -F/ '$3 == "value" { print $3 }'

объяснение

  • -F указывает разделитель полей
  • Каждый блок выполняется на основе предыдущего условия, если задано non, оно всегда истинно, условие здесь $3 == "value",
  • Регулярные выражения можно использовать вместо, если == заменяется на ~,
Другие вопросы по тегам