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 回答