如何解决在sed转换中,如何仅对最后一行应用略有不同的模式?
| 我该如何转:aaa
bbb
ccc
到这个:
aaa,bbb,ccc
用sed
?
请注意,除最后一行外,所有行如何以逗号结尾。
在我真正的问题中,我还在线上进行了一些正则表达式替换。有没有不重复它们的解决方案?
解决方法
您可以使用:
sed \'$q;s/$/,/\'
如果要在最后一行应用其他替换,仍可以使用$
地址:
sed \'$s/$/;/;$q;s/$/,/\'
如果是最后一行,上面的代码将以;
代替该行的末尾,否则将使用,
。
$s/$/;/
=最后一行,用;
替换行尾
$q
=最后一行,退出
s/$/,/
=用ѭ7替换行尾
每行将执行最后一个s
命令,但不会在2处的q
命令告诉其退出的最后一行运行。
看到:
限制为行号
行号范围
q或quit命令
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。