我陷入了困境.我想匹配所有以精确开头的行,比如说8个空格,然后是双引号.
cat file.txt | grep '[[:space:]]\{8\}"'
Run Code Online (Sandbox Code Playgroud)
我在那里做错了什么?它的匹配线也是以超过8个空格开头的.
你不需要管cat到grep只是做egrep '^ {8}"' file了^字符行的开始,因此模式被锚定匹配。
$ cat file
"match"
no match
"no match"
$ egrep '^ {8}"' file
"match"
Run Code Online (Sandbox Code Playgroud)
重复量词{n}如果扩展正则表达式集合所以使用的一部分egrep或可替代地使用-E的选项grep,以避免漏出。