上个月,在工作遇到一个问题,是方括号,即  [ ],取出方括号里面的内容。往上搜索了半天,也没搞出来,后来问了一个大佬,会grep的零宽断言,擅长使用grep -Po 选项进行找文本内容、过滤文本内容,所以,记录一次工作中遇到的这种情景。废话,不多说,所述如下。

示例文本:

cat  test.txt

abc[something that should be removed] is bad[another thing to remove]

需求说明:

将方括号 “ [  ] ” 里面的内容取出并显示出来!

终端命令行命令如下:

cat test.txt | grep  -Po  '\[\K[^]]*'  

解释说明:

\[ 匹配左方括号
\K是一个断言
[^]]  匹配非右括号的所有字符
[^]]*  匹配零个或者多个非右括号的所有字符

以上仅用文字就能描述清楚,我就不截图展示了,粘贴复制自行验证结果!如果对零宽断言不太了解的小伙伴,可自行Google,恶补一下,学会会显得很牛逼,反正,我是没搞太懂!