Bash 在grep中,为什么它需要逃逸[而不是为了]
文件Bash 在grep中,为什么它需要逃逸[而不是为了],bash,shell,command-line,grep,Bash,Shell,Command Line,Grep,文件数据中有一行,如下所示 [总体] 当使用grep获取此行时,我发现只有 grep“\[总体]”数据 出于好奇,为什么它需要逃避[,而不是] 编辑:这是在Ubuntu12.04上测试的,我猜没有开头[指定字符类,结尾]就没有意义了。因此,一旦转义了开始括号,结束括号就不需要转义了。我猜没有开始[指定字符类,结束]就没有意义了。因此,一旦您转义了开始括号,结束括号就不需要转义了。因为]只有在前面有一个未转义的[时才具有特殊意义 你可以通过以下方式获得乐趣(如果你有正确的、有点扭曲的心态): 这将
数据中有一行,如下所示
[总体]
当使用grep
获取此行时,我发现只有
grep“\[总体]”数据
出于好奇,为什么它需要逃避[
,而不是]
编辑:这是在Ubuntu12.04上测试的,我猜没有开头[指定字符类,结尾]就没有意义了。因此,一旦转义了开始括号,结束括号就不需要转义了。我猜没有开始[指定字符类,结束]就没有意义了。因此,一旦您转义了开始括号,结束括号就不需要转义了。因为]
只有在前面有一个未转义的[
时才具有特殊意义
你可以通过以下方式获得乐趣(如果你有正确的、有点扭曲的心态):
这将搜索]
、[
或-
。您必须小心放置]
;它必须在character类的开头。您必须小心放置-
;它必须在课程开始或结束时发出。而否定类的插入符号必须放在第一位
grep '[^][-]' ...
因为]
只有在前面有一个未转义的[
时才具有特殊意义
你可以通过以下方式获得乐趣(如果你有正确的、有点扭曲的心态):
这将搜索]
、[
或-
。您必须小心放置]
;它必须在character类的开头。您必须小心放置-
;它必须在课程开始或结束时发出。而否定类的插入符号必须放在第一位
grep '[^][-]' ...
我赞同德里克和乔纳森的回答。这一年来,我发现自己使用的fgrep
比grep
更多fgrep
与grep-F
或grep--fixed strings
相同,其中搜索项只是一个字符串,而不是正则表达式。例如,如果我想搜索[总体]
:
fgrep "[overall]" file
我赞同德里克和乔纳森的回答。这一年来,我发现自己使用的fgrep
比grep
更多fgrep
与grep-F
或grep--fixed strings
相同,其中搜索项只是一个字符串,而不是正则表达式。例如,如果我想搜索[总体]
:
fgrep "[overall]" file
+1.对于极客娱乐活动的免费建议-P+1表示对极客娱乐活动的免费建议-P