ILD

sed 删除方括号及里面的内容,如:[ 573.052397]
作者:Yuan Jianpeng 邮箱:yuanjianpeng@xiaomi.com
发布时间:2021-10-30 站点:Inside Linux Development

直接上结论

sed "s/\[[^]]\+\]//g"


解释


sed默认是Basic regular expression (BRE)。 [ 有特殊含义,而 ? + () {} | 没有特殊含义。


所以开头是\[,结尾是\]。需要转义,表示匹配 [ 和 ] 本身。


然后中间需要匹配其它字符多次。其它字符使用[^xxx]的形式,^出现在[]中的第一个字符时,表示取反。


但是为啥是:[^]],而不是 [^\]] 呢。因为,大多数元字符在[]中,失去了它们的特殊含义。


最后匹配多次使用\+。在BRE中,+没有特殊含义,因此使用反斜杠。

Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.