我被这个卡住了。我想匹配所有以完全开头的行,比如 8 个空格,然后是双引号。
cat file.txt | grep '[[:space:]]\{8\}"'
我在那里做错了什么?它也匹配以超过 8 个空格开头的行。
我被这个卡住了。我想匹配所有以完全开头的行,比如 8 个空格,然后是双引号。
cat file.txt | grep '[[:space:]]\{8\}"'
我在那里做错了什么?它也匹配以超过 8 个空格开头的行。
cat file.txt | grep '^[[:space:]]\{8\}"'
如果你不放^
,它将匹配你附近的 8 个空格"
。
您不需要通过管道将cat
字符与行首匹配,这样模式就被锚定了。grep
egrep '^ {8}"' file
^
$ cat file
"match"
no match
"no match"
$ egrep '^ {8}"' file
"match"
重复量词{n}
如果是扩展正则表达式集的一部分,则使用egrep
或替代地使用-E
选项grep
以避免转义。