В GNU sed
(при использовании некоторого дистрибутива Linux, это должно быть значение по умолчанию sed
реализация), можно использовать что-то вроде этого:
sed '/.production =/,+12d' inputfile.txt
d
(последний знак), что означает, удаляют строку.,
символ. Сначала регулярное выражение /.production =/
которые соответствуют каждой строке, содержащей это выражение. Второй аргумент +12d
что означает 12 lines from start range
.sed behaviour
).Этот должен продолжить работать другой sed
реализация, но включает намного больше ввода и не таким образом устойчива:
sed '/.production =/{N;N;N;N;N;N;N;N;N;N;N;N;d}' somefile.txt
/.production =/
шаблон. Если так, это выполняет все команды в {}
фигурные скобки.N
времена команды 12. N
управляйте читает следующую строку и добавляет его к текущему буферу. Таким образом после того, как мы выполняем его 12 раз, у нас есть 13 строк, связанных в текущем буфере (первая строка + 12 считанных N
команды).d
команда, которая удаляет это, связала 13 строк.sed
продолжается, пока это не находит другой шаблон и снова удаляет 13 строк. Все другие строки печатаются (значение по умолчанию sed
поведение).Это поведение может частично быть в зависимости от реализации в файловой системе. С тех пор в Вашем случае Вы, кажется, используете Ext3, я говорю о Ext3 здесь:
Относительно первого вопроса это вызовет панику каждый раз, когда с ошибкой встречаются. Это означает, смонтирован ли Ваш диск и выполнение и повреждается, уже будучи смонтированным, после того как с ошибкой встречается реализация файловой системы, ядро запаникует.
Значение это указано в супер блоке, используется в качестве значения по умолчанию при явном определении другого значения в параметре монтирования, это переопределяет значение от супер блока.