0

私はこれから行くためにsedを使いたいです(これは最高のツールですか?):

foo     bar    buzz     fuzz

これに:

foo|bar|buzz|fuzz

これはどのように行うことができますか?

どうもありがとう :)。

4

4 に答える 4

1

アイテム間に5つのスペースがあり、それらがtest.txtというファイルにあると仮定します。

sed -i "s/     /|/g" test
于 2012-09-05T11:20:47.977 に答える
1
$ sed 's/\s\s*/|/g' < input
于 2012-09-05T11:21:07.873 に答える
1

[:SPACE:] POSIX クラスを使用する

スペースの数が変わる可能性がある場合、またはスペースとタブが混在している可能性がある場合は、POSIX クラスを使用して、一連の空白文字を現在のパターン スペース内でグローバルに単一のパイプ記号に置き換える必要があります。例えば:

$ echo 'foo     bar    buzz     fuzz' | sed 's/[[:space:]]\+/|/g'
foo|bar|buzz|fuzz
于 2012-09-05T11:25:16.977 に答える
0

GNU sed がある場合:

sed -r 's/ +/|/g'
于 2012-09-05T12:09:43.743 に答える