*Drive*- Здесь рулят padonki

*Drive* - Counter Strike Source
Текущее время: 02 мар 2024, 08:34

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: 03 фев 2023, 01:05 
Не в сети
padonki
Аватар пользователя

Зарегистрирован: 14 авг 2006, 20:43
Сообщений: 3750
Благодарил (а): 9 раз.
Поблагодарили: 96 раз.
Удаление определенных строк из файла в командной строке Linux

Удаление n-ой строки из файла

Представьте, что вам нужно удалить 7ую строку в файле.

Вы можете использовать команду sed следующим образом

Код:
sed -i '7d' filename


Позвольте мне объяснить, как это работает:

-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-ю строку из этого файла, я использую:

Код:
sed '4d' agatha.txt


Это приведет к следующему отображению с удаленной строкой “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 следующим образом:

Код:
sed -i '1d' filename


Если вы хотите увидеть результат манипуляции, не изменяя сам файл, не используйте опцию -i команды sed.
Удаление последней строки с помощью sed

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

Вы всегда можете получить общее количество строк в файле с помощью команды wc и использовать это число в sed.

Однако sed имеет специальный способ удаления последней строки файла.

Теперь вам больше не нужно беспокоиться о количестве строк.

Код:
sed -i '$d' filename.txt


Удаление диапазона строк

Аналогично тому, что вы видели ранее, вы также можете удалить диапазон строк из файла.

Предположим, вам нужно удалить строки с 11 по 15, вы можете указать диапазон следующим образом:

Код:
sed -i '11,15d' filename


Обратите внимание, что при этом будут удалены строки 11 и 15, а не только те, которые находятся между ними.
Удаление строк, содержащих шаблон

Вы также можете использовать sed для удаления всех строк, которые содержат заданную строку или соответствуют определенному шаблону.

Команда, показанная ниже удалит все строки, содержащие слово ‘string’:

Код:
sed -i '/string/d' filename


Обратите внимание, что поиск осуществляется с учетом регистра.

Вы также можете использовать regex-шаблон вместо обычной строки.
Удаление строк, начинающихся со слова

Если вы хотите удалить все строки, начинающиеся с определенного слова или буквы, вам просто нужно указать шаблон regex следующим образом:

Код:
sed -i '/^word/d' filename


Бонусный совет: Удаление всех пустых строк

Прежде чем закончить эту статью, позвольте мне быстро рассказать, как вы можете удалить все пустые строки с помощью sed:

Код:
sed -i '/^$/d' filename

_________________
Моя характеристика с детского сада: Хорошо кушает, спит, гуляет! Прошло много лет, ничего не изменилось.
Изображение



За это сообщение автора Padonak поблагодарил: Kodla (07 фев 2023, 12:46)
  Рейтинг: 33.33%
Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

Найти:
Перейти:  


Powered by -=PadonaK=- ®, Forum Drivesource.ru, Статситика игрового ресурса *Drive* HLstatsX, Система забаненых игроков Sourcebans

drivesource.ru ® 2006-2024