2

私はこの文字列を持っています

[1.1.1.1 2.2.2.2]

の削除方法を教えてください[ ]。私はそれをすることに成功しませんでしたsed

最終的には次のようになることを望んでいます。

1.1.1.1
2.2.2.2
4

7 に答える 7

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
于 2013-10-22T16:38:45.257 に答える
1

これはうまくいくかもしれません

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
于 2013-10-22T16:38:32.263 に答える
1
$ 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
于 2013-10-22T16:39:25.777 に答える
1

次のように使用します。

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
于 2013-10-22T16:39:46.550 に答える
0

これはあなたのために働くかもしれません:

$ sed 's/\[\(.*\) \(.*\)\]/\1\n\2/' <<< "[1.1.1.1 2.2.2.2]"
1.1.1.1
2.2.2.2
于 2013-10-22T16:38:33.413 に答える
0

数字、スペース、ドットしかない場合も使用できます

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

しかし、最高のものは直前にanubhavaによるposixのものです

于 2013-10-28T16:03:14.527 に答える