Соответствие строки с буквальной звездочкой "*" в grep

Пытались

$ echo "$STRING" | egrep "(\*)"

а также

$ echo "$STRING" | egrep '(\*)'

и бесчисленное множество других вариантов. Я просто хочу сопоставить строку, содержащую буквальную звездочку в любой точке строки.

Ответы

Ответ 1

Попробуйте вместо этого использовать класс символов

echo "$STRING" | egrep '[*]' 

Ответ 2

Использование:

grep "*" file.txt

или

cat file.txt | grep "*"

Ответ 3

Здесь один из способов сопоставить буквенную звездочку:

$ echo "*" | grep "[*]"
*
$ echo "*" | egrep "[*]"
*
$ echo "asfd" | egrep "[*]"
$ echo "asfd" | grep "[*]"
$ 

Обертка выражения в скобках обычно позволяет легко фиксировать один специальный символ; это также будет работать для правой скобки или дефиса, например.

Будьте осторожны, если это не относится к группировке скобок:

$ echo "hi" | egrep "*"
hi
$ echo "hi" | grep "*"
$

Ответ 4

echo "$STRING" | fgrep '*'

fgrep используется для соответствия специальным символам.