У меня есть текстовый файл
123
456
789
456
123456
Я хочу удалить определенные символы из файла т.е. (123). Я пробовал с
$ sed -i '/123/d' dummy.sh
$ vi dumm.txt
456
789
456
В приведенной ниже команде, когда я запускаю, оба слова ( 123и 123456) удаляются, но мне нужно удалить только 123из файла
$ sed -i 's/123//g' dummy.sh
$ vi dumm.txt
456
789
456
456
когда я запускаю приведенную ниже команду, 123она заменяется нулем.
Кто-нибудь может сказать, как удалить целую строку, если она содержит только конкретный номер?
2
я не понял, что вы спрашиваете?
—
Рак кундра
Обратите внимание, что хотя для этой задачи вполне допустимо использовать sed, grep - это инструмент, который был создан специально для отображения или скрытия строк ввода, соответствующих шаблону. В этом случае следующая команда grep сделает то же самое: grep -E -v '^ 123 $' dumm.txt
—
Gnudiff
@ Gnudiff Я не вижу никакого преимущества,
—
Филиппос
grepесли вы используете, как это. Но он может быть лучше для некоторых задач из-за его опций:grep -xv 123