sed 匹配\n换行符

假设 str="a,b,c,d"

echo ${str} | sed "s/,/\n/g"

输出:

a

b

c

d

echo ${str} | sed "s/,/\n/g" | sed  "s/\n/,/g"

输出:

a

b

c

d

没有匹配到\n换行符

这是因为sed 模式是以\n换行符作为行的结束标记的。它没有办法匹配到\n再替换

解决方法:

echo ${str} | sed "s/,/\n/g" | sed  "s/\n/,/g" | sed ":label;N;s/\n/,/;b label"

输出:

a,b,c,d

posted @ 2014-07-02 13:36  chenfool  阅读(15676)  评论(1编辑  收藏  举报