LINUX.ORG.RU
решено ФорумAdmin

экранирование паттерна в sed

 , ,


0

1

Что-то я туплю.

Хочу удалить из файла known_hosts строки, содержащие данный паттерн ${host}

sed -i "s|${host}|d" known_hosts

слишком наивно, в в перменной host может содержаться и . и + и еще черте что. Как это все по-быстрому за-esc-ейпить? Что бы сед знал, «вот тут нет никаких управляющих символов»

Deleted

ПтиЦа, иди в Job'у.

anonymous
()

Не надо использовать регулярные выражения там, где они не нужны

perl -ni -e 'print if index($_, $d) == -1' -s -- -d="wtf R" known_hosts
anonymous
()

Не надо использовать регулярные выражения там, где они не нужны

Нууу. Тут - не нужно, а через 5 минут - нужно. Задача довольно гибкая.

Например, удалить строки «^.*host:<${host}>.*$»

Чуть не забыл, спасиб за перл, да :)

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от DonkeyHot

Я тебя люблю и уважаю, спасибки

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.