- 🐧 Удаление определенных строк из файла в командной строке Linux
- Удаление n-ой строки из файла
- Удаление последней строки с помощью sed
- Удаление диапазона строк
- Удаление строк, содержащих шаблон
- Удаление строк, начинающихся со слова
- Бонусный совет: Удаление всех пустых строк
- You may also like
- 📜 Чтение файла построчно на Bash
- 📧 В чем разница между IMAP и POP3
- ✔️ Как управлять контейнерами LXD от имени обычного.
- 📜 Руководство для начинающих по созданию первого пакета.
- Феноменальная популярность электроники Xiaomi: основные причины
- 📜 Получение вчерашней даты в Bash: Практическое руководство
- Использование специальных гелей при мышечных болях
- 📦 Как расширить/увеличить файловую систему VxFS на Linux
- Услуги по размещению серверного оборудования в ЦОД
- Для чего выполняется ИТ консалтинг на предприятиях?
- Leave a Comment Cancel Reply
- • Свежие записи
- • Категории
- • Теги
- • itsecforu.ru
- • Страны посетителей
- IT is good
🐧 Удаление определенных строк из файла в командной строке Linux
Задача проста. Вам нужно удалить определенные строки из текстового файла в терминале Linux.
Вы можете использовать текстовый редактор типа Vim или Nano, войти в файл и удалить нужные строки.
Сейчас мы рассмотрим продолжение нашей прошлой статьи:
Однако такой подход не подходит для автоматизации с помощью скриптов bash.
Вместо этого можно воспользоваться мощным редактором командной строки sed и удалить строки, соответствующие определенным критериям.
И, конечно же, вы можете использовать sed в своих скриптах shell.
Позвольте мне показать несколько примеров использования.
Приведенные здесь примеры мгновенно изменяют исходный файл.
Прежде чем приступать к экспериментам с файлом, неплохо было бы сделать его резервную копию.
Удаление n-ой строки из файла
Представьте, что вам нужно удалить 7ую строку в файле.
Вы можете использовать команду sed следующим образом
Позвольте мне объяснить, как это работает:
- -i: Эта опция включает редактирование на месте. По умолчанию sed отображает только вывод. С опцией -i он изменяет фактический файл, не отображая его на дисплее.
- 7d: Здесь 7 – это номер строки, а d указывает на удаление строки.
- filename: Это файл, который вы хотите изменить. Вы также можете указать абсолютный или относительный путь, если файл находится в другом каталоге.
Позвольте мне показать на реальном примере.
Вот пример текстового файла с именем agatha.txt:
The Mystery of the Blue Train The Seven Dials Mystery The Murder at the Vicarage Giant's Bread The Floating Admiral The Sittaford Mystery Peril at End House Lord Edgware Dies
Чтобы удалить 4-ю строку из этого файла, я использую:
Это приведет к следующему отображению с удаленной строкой “Giant’s Bread”:
The Mystery of the Blue Train The Seven Dials Mystery The Murder at the Vicarage The Floating Admiral The Sittaford Mystery Peril at End House Lord Edgware Dies
Теперь, допустим, вы хотите удалить первую строку файла в командной строке Linux.
Используйте sed следующим образом:
Если вы хотите увидеть результат манипуляции, не изменяя сам файл, не используйте опцию -i команды sed.
Удаление последней строки с помощью sed
Вы научились удалять определенную строку, но что если вам нужно удалить последнюю строку?
Вы всегда можете получить общее количество строк в файле с помощью команды wc и использовать это число в sed.
Однако sed имеет специальный способ удаления последней строки файла.
Теперь вам больше не нужно беспокоиться о количестве строк.
Удаление диапазона строк
Аналогично тому, что вы видели ранее, вы также можете удалить диапазон строк из файла.
Предположим, вам нужно удалить строки с 11 по 15, вы можете указать диапазон следующим образом:
Обратите внимание, что при этом будут удалены строки 11 и 15, а не только те, которые находятся между ними.
Удаление строк, содержащих шаблон
Вы также можете использовать sed для удаления всех строк, которые содержат заданную строку или соответствуют определенному шаблону.
Команда, показанная ниже удалит все строки, содержащие слово ‘string’:
Обратите внимание, что поиск осуществляется с учетом регистра.
Вы также можете использовать regex-шаблон вместо обычной строки.
Удаление строк, начинающихся со слова
Если вы хотите удалить все строки, начинающиеся с определенного слова или буквы, вам просто нужно указать шаблон regex следующим образом:
Бонусный совет: Удаление всех пустых строк
Прежде чем закончить эту статью, позвольте мне быстро рассказать, как вы можете удалить все пустые строки с помощью sed:
Надеюсь, этот быстрый совет поможет вам удалить строки из текстового файла в командной строке Linux.
itisgood
🐧 Как найти PID и PPID процесса в системах Linux
🐍 Как создать игру “Змейка” на языке Python
You may also like
📜 Чтение файла построчно на Bash
📧 В чем разница между IMAP и POP3
✔️ Как управлять контейнерами LXD от имени обычного.
📜 Руководство для начинающих по созданию первого пакета.
Феноменальная популярность электроники Xiaomi: основные причины
📜 Получение вчерашней даты в Bash: Практическое руководство
Использование специальных гелей при мышечных болях
📦 Как расширить/увеличить файловую систему VxFS на Linux
Услуги по размещению серверного оборудования в ЦОД
Для чего выполняется ИТ консалтинг на предприятиях?
Leave a Comment Cancel Reply
• Свежие записи
• Категории
• Теги
• itsecforu.ru
• Страны посетителей
IT is good
В этой статье вы узнаете, как удалить удаленный Git-репозиторий. Процесс прост, но его полезно запомнить, чтобы избежать неожиданностей в будущем. Git – это…
В 11-й версии своей операционной системы Microsoft серьезно переработала интерфейс и убрала несколько привычных функций. Нововведения не всем пришлись по душе. Мы дадим…
Продажа ноутбука нередко становится хлопотным занятием. Кроме поиска покупателя, продавцу необходимо подготовить устройство перед проведением сделки. Но если последовательно выполнить все шаги, ничего…
Вы можете оказаться в ситуации, когда вам нужно использовать скрипт шелла для чтения файлов построчно. В этом руководстве я расскажу о нескольких способах…
Вторичное жильё выгоднее для молодых семей, желающих приобрести свою первую квартиру. Сталкиваясь с ипотечным кредитованием, можно избежать много лишней суеты и проблем, если…