sed one-liner для удаления любой строки, начинающейся с цифры

введите описание изображения здесь

Представьте, что я работаю с этим файлом.

Начало первой видимой строки скрыто, поэтому игнорируйте это. 43 – начало следующей строки, и эта строка будет удалена.

Следующая строка (начинающаяся с 44 и заканчивающаяся периодом) будет удалена.

Следующая строка (которая состоит только из 424) также исчезла.

Следующая строка (которая состоит из «11. Король и герой») также исчезла.

Следующая строка остается.

3 Solutions collect form web for “sed one-liner для удаления любой строки, начинающейся с цифры”

 sed -e '/^[0-9]/d' filename > filename.new 

или изменить на месте

 sed -i -e '/^[0-9]/d' filename 

Я использовал бы grep(1) для этого:

 grep -v '^[0-9]' filename 

^[0-9] соответствует любой строке, начинающейся с цифры, и -v исключает строки, которые соответствуют, вместо включения. Вы также можете использовать класс символов [:digit:] вместо [0-9] .

Вместо -v вы можете инвертировать диапазон:

 grep '^[^0-9]' filename 

Это будет соответствовать любой строке, которая не начинается с цифры, но она не будет соответствовать пустым строкам.

С grep , sed и awk мое общее правило заключается в том, что для сопоставления и простого извлечения используйте grep , для перезаписи без сохранения состояния используйте sed и для изменений с сохранением состояния, используйте awk . Вот почему я предлагаю использовать grep вместо sed как вы задали в своем вопросе (и другие уже ответили на sed ).

 sed -e '/^[0-9].*$/d' oldfile > newfile 
  • Ищете способ переместить четные строки в начало нечетных строк
  • Греп на одной линии
  • Как grep заголовок в man-странице, содержащей управляющие символы
  • Gedit или другой редактор без командной строки с возможностью проверки орфографии на двух языках одновременно
  • awk, чтобы вырезать часть поля и все еще печатать всю строку
  • Замена переменной, содержащей \ with sed
  • sed - простая замена регулярного выражения, не заменяющая
  • Правильно ли замените & & XML?
  • Удалите текст из файла и сохраните, не открывая
  • Как удалить строку на основе Delimeter в perl / Shell?
  • Я хотел бы стереть предыдущую точку нескольких строк текста
  • Sed: удалить между первыми n строками те, у которых заданная строка в них
  • Interesting Posts

    лотровать каждые 2 часа

    Новый рабочий стол терминала

    Как вы помните синтаксис для перенаправления 2> и 1

    Объединение текстовых файлов на основе их имени файла

    Выполнить скрипт bash так, чтобы каждая команда была индивидуально доступна в истории команд оболочки

    сохранять прозрачные веб-изображения на linux mint

    Как интегрировать многострочный awk-скрипт в сценарий оболочки

    VLC застрял в неправильной версии на Linux mint 17 (Qiana)

    Как я могу предотвратить использование sudoer главного ключа LUKS?

    Справочник по умолчанию по умолчанию

    Как изменить размер содержимого PDF без изменения размера страницы?

    Когда автозаполнение в tcsh, могу ли я ссылаться на предыдущий аргумент?

    Как изменить путь, используемый апплетом Gnome Command Line?

    работающее ядро ​​на QEMU

    Помимо Alt + Shift для переключения раскладки клавиатуры, любых других комбинаций клавиш Xorg?

    Linux и Unix - лучшая ОС в мире.