在UNIX中用“[number]”替换“[any number]”的出现

时间:2013-02-15 12:02:07

标签: regex

我的文件中有条目,如

abcd abcd [23]
shbfh sfklgh [47]
sdgnjsfgj [45]

我想将其更改为

abcd abcd[23]
shbfh sfklgh[47]
sdgnjsfgj[45]

我尝试了sed 's/ \[[0-9]+\]/\[[0-9]+\]/g',但它无效

2 个答案:

答案 0 :(得分:3)

您需要捕获该组,并在替换时使用反向引用:

sed 's/ \(\[[0-9]\+\]\)/\1/g'

答案 1 :(得分:0)

如果这是方括号的唯一出现,你可以使用类似的方法消除任何方括号之前的空格:

sed 's/ \[/\[/'