Экранированная последовательность для подходящего регулярного выражения

Есть ли способ избежать последовательности в aptрегулярное выражение?

У меня есть поиск, например libpng++где я хочу буквально соответствовать ++ часть строки. Я знаю, что могу вручную избежать ++ с \+\+, но мне нужно экранировать строку (поскольку она приходит ко мне как переменную), а не просто вручную экранировать отдельные символы.

я пробовал apt-cache search libpng++, "libpng++", 'libpng++', \"libpng++\", \'libpng++\', \Qlibpng++\E, так далее.

Есть ли желание заставить это работать?

1 ответ

Вы можете "обработать" переменную перед передачей apt-cache, как в:

var="libpng++"
var=$(echo $var | sed 's|\([+*?]\)\\\1|g')
apt-cache search $var

Добавьте любые другие специальные символы регулярного выражения между [ а также ] выше.

Extra + должен работать. то есть -libpng+++

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