Как написать условие if, когда правая часть содержит переменную awk? - PullRequest
0 голосов
/ 04 апреля 2020

Допустим, у меня есть поле, которое указывает дату в формате yyyymmdd, и я хочу отфильтровать строки, превышающие заданное значение для этого поля.

Если я использую следующее условие if внутри моего * Оператор 1005 *, он работает просто отлично

if ($1> "20200315")

Но, скажем, я определяю 2020 как yyyy и 03 как mm, затем передаю эти переменные как awk -v ym=${yyyy}${mm}

Как должно ли выглядеть мое условие if в операторе awk? Я попробовал следующее, но он не фильтрует строки.

if ($1> "ym15")

1 Ответ

0 голосов
/ 04 апреля 2020

Таким образом, проблема была "ym15", потому что в кавычках awk не рассматривает ym как переменную. Основываясь на комментариях, решение состояло в том, чтобы снять кавычки с переменной и заключить в кавычки только соседнюю строку «15».

if ($1 > (ym"15"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...