Ответ 1
Попробуйте вместо этого использовать класс символов
echo "$STRING" | egrep '[*]'
Пытались
$ echo "$STRING" | egrep "(\*)"
а также
$ echo "$STRING" | egrep '(\*)'
и бесчисленное множество других вариантов. Я просто хочу сопоставить строку, содержащую буквальную звездочку в любой точке строки.
Попробуйте вместо этого использовать класс символов
echo "$STRING" | egrep '[*]'
Использование:
grep "*" file.txt
или
cat file.txt | grep "*"
Здесь один из способов сопоставить буквенную звездочку:
$ echo "*" | grep "[*]"
*
$ echo "*" | egrep "[*]"
*
$ echo "asfd" | egrep "[*]"
$ echo "asfd" | grep "[*]"
$
Обертка выражения в скобках обычно позволяет легко фиксировать один специальный символ; это также будет работать для правой скобки или дефиса, например.
Будьте осторожны, если это не относится к группировке скобок:
$ echo "hi" | egrep "*"
hi
$ echo "hi" | grep "*"
$
echo "$STRING" | fgrep '*'
fgrep
используется для соответствия специальным символам.