繁体   English   中英

正则表达式问题

[英]Regular expression issue

可能这是新手问题,但我必须问一下!
一般来说,我理解正则表达式,但我不明白,为什么这个:

^.{8}[[:blank:]]{2}

适用于此行:

prelink: /lib/libkeyutils-1.2.so: at least one of file's dependencies has changed since prelinking

在这个grep命令中:

echo "prelink: /lib/libkeyutils-1.2.so: at least one of file's dependencies has changed since prelinking" | grep -v '^.\{8\}[[:blank:]]\{2\}'

哪里:

The                says "beggining of line"  
The .{8}           says "any eight characters"  
The [[:blank:]]{2} says "any two space characters"

所以^。{8}匹配“prelink:”,当[[:blank:]] {2}需要匹配“”(两个空格),但我们只有“”(一个空格)...那么为什么这个工作在所有,如果这项工作为什么这一个:

^.{8}[[:blank:]]{1} 

不起作用?

谢谢你提前。

你使用grep-v选项会导致它打印匹配的行。 删除-v它将按预期工作。

grep --help
...
   -v, --invert-match        select non-matching lines
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM