Удаление определенных строк из файла в командной строке Linux
Удаление n-ой строки из файла
sed -i '7d' filename
-i: Эта опция включает редактирование на месте. По умолчанию sed отображает только вывод. С опцией -i он изменяет фактический файл, не отображая его на дисплее.
7d: Здесь 7 – это номер строки, а d указывает на удаление строки.
filename: Это файл, который вы хотите изменить. Вы также можете указать абсолютный или относительный путь, если файл находится в другом каталоге.
Удалить первую строку файла в командной строке Linux.
sed -i '1d' filename
Если вы хотите увидеть результат манипуляции, не изменяя сам файл, не используйте опцию -i команды sed.
Удаление последней строки с помощью sed
sed -i '$d' filename.txt
Удаление диапазона строк
Удалить строки с 11 по 15, можно указать диапазон следующим образом:
sed -i '11,15d' filename
Обратите внимание, что при этом будут удалены строки 11 и 15, а не только те, которые находятся между ними.
Удаление строк, содержащих шаблон
Команда, показанная ниже удалит все строки, содержащие слово ‘string’:
sed -i '/string/d' filename
Удаление строк, начинающихся со слова
sed -i '/^word/d' filename
Удаление всех пустых строк
sed -i '/^$/d' filename