【发布时间】:2020-05-11 07:56:13
【问题描述】:
如果我想显示 2 倍或更多倍的字符 this *.
egrep '*{2}' file
【问题讨论】:
-
*是regex中的一个特殊字符。为了代表自己,你必须逃避它(即\*)。两个或多个连续出现是{2,},但如果它们不需要连续出现,那么{...}没有帮助。
如果我想显示 2 倍或更多倍的字符 this *.
egrep '*{2}' file
【问题讨论】:
* 是regex 中的一个特殊字符。为了代表自己,你必须逃避它(即\*)。两个或多个连续出现是{2,},但如果它们不需要连续出现,那么{...} 没有帮助。
你可以使用
grep '\*[^*]*\*' file
\*[^*]*\* 模式将匹配包含 * 的行,然后是除 * 之外的任何 0+ 字符,然后是 *。
s="*one
*two*
.... *three* and more text here**"
grep '\*[^*]*\*' <<< "$s"
输出:
*two*
.... *three* and more text here**
【讨论】:
grep '\**\*' 来简化它,不是吗?
\**\* 匹配带有 1 个或多个星号的字符串,因为 \** 匹配 0+ 个星号,然后 \* 匹配 1 个星号。
grep '\*.*\*'。