2017-01-13 7 views
0

Я пытаюсь удалить строку SPECIFIC в файле, используя sed.Удаление строки с помощью sed

test.txt содержит

123 
456 
789 
111 
1 
000136 

Например, мне нужно удалить только 1 текст в файле. Я пытался использовать команду

sed '/1/d' test.txt 

выход будет

456 
789 

Как я могу удалить только 1 с помощью СЭД? Есть ли способ сделать это?

Спасибо!

+0

Пожалуйста, обратите внимание на: [Что я должен делать, когда кто-то отвечает на мой вопрос] (HTTP: // StackOverflow. com/help/someone-answers) – Cyrus

ответ

1

Проблема с вашим примером заключается в том, что шаблон, используемый в sed, соответствует всем строкам, содержащим символ 1.

Настройка шаблона вместо: sed '/^1$/d' test.txt

Это будет соответствовать только строки, содержащие одиночный символ, а именно 1.

Это не соответствует строкам, содержащим лишние пробелы!

Подробнее о регулярных выражениях (и специальных символов ^ и $) по адресу: https://www.gnu.org/software/sed/manual/html_node/Regular-Expressions.html

+0

@ user2632704 не стесняйтесь принимать мой ответ – setempler

+0

Привет. Спасибо! Понял – user2632704

Смежные вопросы