尝试
$ echo "$STRING" | egrep "(\*)"
以及
$ echo "$STRING" | egrep '(\*)'
和无数其他变化。我只想匹配一行中包含文字星号的行。
答案 0 :(得分:17)
尝试使用字符类
echo "$STRING" | egrep '[*]'
答案 1 :(得分:5)
使用:
grep "*" file.txt
或
cat file.txt | grep "*"
答案 2 :(得分:5)
echo "$STRING" | fgrep '*'
fgrep
用于匹配特殊字符。
答案 3 :(得分:1)
这是匹配文字星号的一种方法:
$ echo "*" | grep "[*]"
*
$ echo "*" | egrep "[*]"
*
$ echo "asfd" | egrep "[*]"
$ echo "asfd" | grep "[*]"
$
在括号中包装表达式通常可以让您轻松捕获单个特殊字符;例如,这也适用于右括号或连字符。
当它不在括号分组中时要小心:
$ echo "hi" | egrep "*"
hi
$ echo "hi" | grep "*"
$
答案 4 :(得分:1)
只需用反斜杠转义星号:
grep "\*"