Я хочу удалить записи в файле после того, как шаблон будет найден, и удалить все строки из этого шаблона до конца файла.
Я пытался сделать это в awk, но не нашел, есть ли более простой способ сделать это.
Итак, я хочу сопоставить шаблон во втором столбце, а затем удалить записи из этого шаблона до конца файла.
awk -F"," '$2 ~ /100000/ {next} {print}' file.csv
Таким образом, приведенный выше код пропускает эти строки, однако, как вы можете видеть, мне нужно добавить несколько шаблонов соответствия, чтобы игнорировать строки после того, как игнорируются те, которые имеют значение 100000 во втором столбце. Обратите внимание, что значения во 2-м столбце отображаются последовательно, поэтому после 100000 следует 100001, а фиксированного конечного числа нет.
1
={print}
. Дублированный код (например, операторprint
), как правило, плох, и вам не нужно печатать из двух мест$2==100000{print;exit} {print}
, просто поместите печать в нужное место:{print} $2==100000{exit}
или, если вы предпочитаете продолжать использовать1
, это будет1; $2==100000{exit}
08.11.2019