我陷入了困境。我希望匹配所有以精确开头的行,比如8个空格,然后是双引号。
cat file.txt | grep '[[:space:]]\{8\}"'
我在那里做错了什么?它的匹配线也是以超过8个空格开头的。
答案 0 :(得分:12)
cat file.txt | grep '^[[:space:]]\{8\}"'
如果您不放^
,则会匹配您"
附近的8个空格。
答案 1 :(得分:4)
您不需要将管道cat
导入grep
只需执行egrep '^ {8}"' file
^
字符与行的开头匹配,以便锚定模式。
$ cat file
"match"
no match
"no match"
$ egrep '^ {8}"' file
"match"
重复量化器{n}
如果扩展正则表达式集的一部分使用egrep
,或者使用-E
的{{1}}选项来避免转义。