上个月,在工作遇到一个问题,是方括号,即 [ ],取出方括号里面的内容。往上搜索了半天,也没搞出来,后来问了一个大佬,会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,恶补一下,学会会显得很牛逼,反正,我是没搞太懂!