如何在Bash / Grep中转义单引号?

我想用grep搜索看起来像这样的字符串:

something ~* 'bla'

我试过了,但是shell删除了单引号argh ..

grep -i '"something ~* '[:alnum:]'"' /var/log/syslog

什么是正确的搜索?

回答:

grep -i "something ~\* '[[:alnum:]]*'" /var/log/syslog

为我工作。

  • 转义第一个*以匹配文字的方式,*而不是使其成为零个或多个匹配字符:

    ~*将匹配零个或多个匹配项,~而while

    ~\*匹配表达式~*之后something

  • 在周围使用双括号:alnum:(请参见此处的示例)

  • 使用*[[:alnum::]],不仅符合 你单引号字符,但其中几
  • 单引号根本不需要转义,因为它们包含在受双引号限制的表达式中。

以上是 如何在Bash / Grep中转义单引号? 的全部内容, 来源链接: utcz.com/qa/427511.html

回到顶部