问题描述
|
我该如何转:
aaa
bbb
ccc
到这个:
aaa,bbb,ccc
用sed
?
请注意,除最后一行外,所有行如何以逗号结尾。
在我真正的问题中,我还在线上进行了一些正则表达式替换。有没有不重复它们的解决方案?
解决方法
您可以使用:
sed \'$q;s/$/,/\'
如果要在最后一行应用其他替换,仍可以使用$
地址:
sed \'$s/$/;/;$q;s/$/,/\'
如果是最后一行,上面的代码将以;
代替该行的末尾,否则将使用,
。
$s/$/;/
=最后一行,用;
替换行尾
$q
=最后一行,退出
s/$/,/
=用ѭ7替换行尾
每行将执行最后一个s
命令,但不会在2处的q
命令告诉其退出的最后一行运行。
看到:
限制为行号
行号范围
q或quit命令