Удаление всей строки в файле, который содержит определенную строку

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

[Исключая]

John Smith, Fake St, 123, 555-555-555

Я хочу знать, как я могу искать конкретное имя и удалить всю строку, которая содержит его. Таким образом для примера выше, я искал бы "John" или "Smith" или "John Smith" и удалил бы всю строку, которая содержит те слова.

Был бы я использовал grep или sed для этого? Я хочу, чтобы это внесло постоянное изменение в файл

0
задан 13 December 2014 в 11:21

1 ответ

Вы могли использовать d команда от sed.

Для удаления всех строк, содержащих слово John, Вы сделали бы

sed --in-place /John/d ./file

В случае Нескольких критериев, использовать -e команда

sed --in-place -e '/John/d; /John Smith/d' ./file
1
ответ дан 6 October 2019 в 06:57

Другие вопросы по тегам:

Похожие вопросы: