替换每行中的第一个匹配项

时间:2013-12-05 16:27:36

标签: shell scripting sed

假设我有一个格式如下的文档:

word1 word2 word3
word4 word5 word6
word7 word8

如何使用sed用逗号后跟空格替换第一次出现的空格,以便文档看起来像:

word1, word2 word3
word4, word5 word6
word7, word8

谢谢!

6 个答案:

答案 0 :(得分:5)

简单:

sed -i 's/ /, /' your_file

这会查找第一次出现的空格,用逗号和空格替换它,然后移到下一行。

答案 1 :(得分:2)

echo word1 word2 word3|sed -r 's/(\s)/,\1/'

输出:

word1, word2 word3

答案 2 :(得分:1)

怎么样:

sed -e 's/\s\+/, /'

输出:

word1, word2 word3
word4, word5 word6
word7, word8

答案 3 :(得分:0)

使用awk

awk '{sub(/ /,", ")}1' file
word1, word2 word3
word4, word5 word6
word7, word8

答案 4 :(得分:0)

sed 's/\([^[:blank:]]\{1,\}\)/\1,/' YourFile

在“非空格”的第一个块之后添加,,因此行的起点可以从空格开始,它仍然有效,如果行没有工作但只有空格(没有,在这种情况下)

答案 5 :(得分:0)

朋友太多了| sed's / /,/'

朋友,太多了

相关问题