【发布时间】:2013-12-22 17:00:52
【问题描述】:
假设我有一个格式如下的文档:
word1 word2 word3
word4 word5 word6
word7 word8
如何使用sed 将第一次出现的空格替换为逗号后跟空格,以便文档看起来像:
word1, word2 word3
word4, word5 word6
word7, word8
谢谢!
【问题讨论】:
假设我有一个格式如下的文档:
word1 word2 word3
word4 word5 word6
word7 word8
如何使用sed 将第一次出现的空格替换为逗号后跟空格,以便文档看起来像:
word1, word2 word3
word4, word5 word6
word7, word8
谢谢!
【问题讨论】:
简单:
sed -i 's/ /, /' your_file
这会查找第一次出现的空格,用逗号和空格替换它,然后移动到下一行。
【讨论】:
echo word1 word2 word3|sed -r 's/(\s)/,\1/'
输出:
word1, word2 word3
【讨论】:
/^\s+$/!放在上面。
怎么样:
sed -e 's/\s\+/, /'
输出:
word1, word2 word3
word4, word5 word6
word7, word8
【讨论】:
使用awk
awk '{sub(/ /,", ")}1' file
word1, word2 word3
word4, word5 word6
word7, word8
【讨论】:
sed 's/\([^[:blank:]]\{1,\}\)/\1,/' YourFile
在“非空格”的第一个块之后添加,,因此行的开头可以以空格开头,它仍然有效,如果行没有工作但只有空格(在这种情况下没有,)
【讨论】:
echo FRIEND TOO MUCH |sed 's/ /, /'
朋友,太多了
【讨论】: