Как удалить из шаблона совпадения в определенном столбце до конца файла - PullRequest
0 голосов
/ 08 ноября 2019

Я хочу удалить записи в файле, как только будет найден шаблон, и удалить все строки из этого шаблона до конца файла.

Я пытался выполнить в awk, но не нашел, если естьболее простой способ сделать это

Поэтому я хочу сопоставить шаблон во втором столбце, а затем удалить записи из этого шаблона до конца файла

awk -F"," '$2 ~ /100000/ {next} {print}'  file.csv 

Так что приведенный выше код пропускает этиоднако, как вы видите, мне нужно добавить несколько шаблонов совпадения, чтобы игнорировать строки после того, как игнорируются строки со значением 100000 во 2-м столбце. Обратите внимание, что значения во 2-м столбце отображаются последовательно, поэтому после 100000 придет 100001, а фиксированный конечный номер отсутствует.

1 Ответ

2 голосов
/ 08 ноября 2019

Не уверен, правильно ли я понял вашу проблему. ИМХО. Я полагаю, что вам нужно выполнить следующие действия.

awk '$2==100000{print;exit} 1' Input_file

Эта строка будет напечатана до строки, чей 2-й столбец равен 100000, а затем, так как вы не хотите ничего печатать, выполнитенесмотря на простое чтение файла и его пропуск, он выйдет из кода, который также дополнительно сэкономит наше время.

ИЛИ согласно хорошему предложению Эда Мортона сэра:

awk '1; $2==100000{exit}' Input_file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...