Сопоставление с образцом в AWK - PullRequest
0 голосов
/ 27 мая 2018

У меня есть следующее требование.Я хочу пропустить первые и последние строки в файле.И во всех остальных строках нужно проверять пробел в первых двух символах.Для этого я заменяю пробелы некоторыми символами и извлекаю первые символы.Я должен сравнить их с # и выдать какую-то ошибку, если она соответствует

AWK 'NR>2 {gsub(/\ /,"#",prev);}{print substr(prev,1,2)}{prev=$0}' input file

. С этим я могу заменить и извлечь, но не могу сравнить подстроку с ##.Пожалуйста, помогите

1 Ответ

0 голосов
/ 27 мая 2018

не нужно заменять и тестировать замену, вместо этого вы можете сделать это

$ awk 'p~/^  /{exit 1} NR>1{p=$0}' file

отсроченное вычисление пропустит последнюю запись, чтобы пропустить первое условие записи на NR>1, если запись начинается сдва пробела завершаются с кодом ошибки, в противном случае он завершается успешно (по умолчанию).

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