получение выражения регулярного выражения для передачи, только если поле NULL / пусто - PullRequest
0 голосов
/ 13 февраля 2019

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

!($6~/^[]$/) {print "6th field invalid";

спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Как насчет

awk '$6 != "" {print "invalid";}'

Но вы должны правильно установить разделитель полей.Если он может совпадать с пустой строкой (разделителем полей по умолчанию является / [\ t] + /), $ 6 может быть равным $ 7.

0 голосов
/ 13 февраля 2019

Поскольку вы НЕ упоминали ни одного образца, поэтому не проверяли его, не могли бы вы попробовать следующее.

awk '$6==""{print "6th field is empty"}'   Input_file

Но, если вы могли бы упомянуть образцы входных данных в своем посте, это может помочь большепроверьте это решение тоже.

Также, если вы хотите сделать наоборот, попробуйте выполнить следующее, как упомянуто @James Brown в комментариях.

awk '$6!=""{print "6th field is NOT empty..etc.."}' Input_file

ПРИМЕЧАНИЕ: Поскольку вы не показали нам образцы, поэтому вам может потребоваться установить разделитель полей для вашего файла Input_file, поэтому, пожалуйста, имейте это в виду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...