Скажем, у меня есть файл строки 857835, содержащий такие вещи:
a1
rubbish1
rubbish2
rubbish3
rubbish4
a1
rubbish5
rubbish6
rubbish7
rubbish8
И я хочу удалить все вхождения a1
и следующую строку ( rubbish1
и rubbish5
в этом примере). Как это сделать?
Я пытался grep 'a1' -v -A1
безрезультатно, и мои навыки sed не очень хороши:}
Мой Google-фу не смог мне помочь на этот раз, кто-то, пожалуйста, помогите!
grep
text-processing
sed
rayfoo
источник
источник
^
и$
в этом совпадении заставить совпадать целые строки.Следующее будет работать на не-GNU
sed
(,+1
адресный синтаксис является расширением GNU):«Начиная со строки, которая в точности читает« a1 », и заканчивая следующей строкой, для которой существует начало строки (т. Е. Следующей строкой), удалите.»
Это гораздо менее расширяемо, чем ответ @ asoundmove, так как удаление другого числа строк потребует совершенно другого сценария.
источник