如何在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