可能这是新手问题,但我必须问一下!
一般来说,我理解正则表达式,但我不明白,为什么这个:
^.{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 ...