Я интересуюсь выяснением способа удалить всю строку в текстовом файле, который содержит конкретную строку. Это будет для текстового файла, который работает как телефонная книга, содержащая имена, адрес, номера телефона, и т.д.
[Исключая]
John Smith, Fake St, 123, 555-555-555
Я хочу знать, как я могу искать конкретное имя и удалить всю строку, которая содержит его. Таким образом для примера выше, я искал бы "John" или "Smith" или "John Smith" и удалил бы всю строку, которая содержит те слова.
Был бы я использовал grep или sed для этого? Я хочу, чтобы это внесло постоянное изменение в файл
Вы могли использовать d
команда от sed
.
Для удаления всех строк, содержащих слово John, Вы сделали бы
sed --in-place /John/d ./file
В случае Нескольких критериев, использовать -e
команда
sed --in-place -e '/John/d; /John Smith/d' ./file