我在Ubuntu 12.04.1 LTS的bash shell中运行此命令。我正在尝试一次删除掉[
和]
字符,即不必通过管道再次进行sed。
我知道方括号在正则表达式中有特殊含义,因此我在前面加上反斜杠来对其进行转义。我期望的结果只是字符串,123
但仍然保留了方括号,我很想知道为什么!
~$ echo '[123]' | sed 's/[\[\]]//'
[123]
我最终要实现的是将方括号之间的任何内容分配给bash变量,以供在bash脚本中的其他地方使用,因此,如果有更好的方法来实现(通过使用awk,也许是?),请告诉我。
—
Xhantar
只是添加评论:您可以使用bash的PE功能,如下所示:
—
Valentin Bajrami 2013年
str='[123]'; str1=${str/\[/}; str2=${str1/\]}; echo $str2
@ val0x00ff-纯bash替换..谢谢!:)学到了一些新东西。
—
Xhantar