SED 不会删除通配符



我有这个字符串

[1.1.1.1 2.2.2.2]

你能告诉我如何删除[ ]吗?我没有成功地做到这一点sed

我希望最后它会是这样的:

1.1.1.1
2.2.2.2

tr -d '[]'会去掉方括号:

$ tr -d '[]' <<< "[1.1.1.1 2.2.2.2]"
1.1.1.1 2.2.2.2

要拆分,您可以使用 sed 命令,例如 's/ /n/'

$ tr -d '[]' <<< "[1.1.1.1 2.2.2.2]" | sed 's/ /n/'
1.1.1.1
2.2.2.2

试试这样,

echo [1.1.1.1 2.2.2.2] | sed 's/[//' | sed 's/]//'| sed 's/ /n/'
1.1.1.1
2.2.2.2

这可能有效

echo '[1.1.1.1 2.2.2.2]' | sed -e 's/[//' -e 's/]//' -e 's/ /n/'
1.1.1.1
2.2.2.2
$ echo '[1.1.1.1 2.2.2.2]' | tr -d '[]'
1.1.1.1 2.2.2.2
$ for derp in $(echo '[1.1.1.1 2.2.2.2]' | tr -d '[]'); do echo $derp; done
1.1.1.1
2.2.2.2
$ echo '[1.1.1.1 2.2.2.2]' | tr -d '[]' | sed 's/s+/n/g'
1.1.1.1
2.2.2.2

将其用作:

echo '[1.1.1.1 2.2.2.2]' | sed -r 's/[|]//g'
1.1.1.1 2.2.2.2

或者使用 posix sed:

echo '[1.1.1.1 2.2.2.2]' | sed 's/[][]//g'
1.1.1.1 2.2.2.2
这可能

对你有用:

$ sed 's/[(.*) (.*)]/1n2/' <<< "[1.1.1.1 2.2.2.2]"
1.1.1.1
2.2.2.2

如果只有数字、空格和点,你也可以使用

echo '[1.1.1.1 2.2.2.2]' | sed "s/[^0-9. ]//g"

但最好的是之前阿努巴瓦的Posix。

最新更新