发布
社区首页 >问答首页 >如何从文件的最后一行中删除换行符,以便向该行添加文本?

如何从文件的最后一行中删除换行符,以便向该行添加文本?
EN

Unix & Linux用户
提问于 2016-01-11 14:56:50
回答 2查看 167.5K关注 0票数 106

假设我有一个名为file的文件:

代码语言:javascript
复制
$ cat file
Hello
Welcome to
Unix

我想在文件的最后一行末尾添加and Linux。如果我这样做,echo " and Linux" >> file将被添加到一个新的行。但我想要最后一行Unix and Linux

因此,为了解决这个问题,我希望删除文件末尾的换行符。因此,如何删除文件末尾的换行符以便向该行添加文本?

EN

回答 2

Unix & Linux用户

发布于 2019-09-12 14:09:37

您可以使用perl实现这一点,如下所示:

代码语言:javascript
复制
perl -pi -e 'chomp if eof' myfile

truncatedd相比,如果myfile实际上没有尾随换行符,则不会给您留下一个损坏的文件。

(答案由评论构造,基于这个答案)

票数 57
EN

Unix & Linux用户

发布于 2021-01-31 15:12:28

代码语言:javascript
复制
perl -0pi -e "s/\R\z//g" file

适用于"\r“(MAC)、”\r“(Windows)和"\n”(Linux)。对于文件末尾重复的换行符(任何提示),您可以这样做:

代码语言:javascript
复制
perl -0pi -e "s/\R*\z//g" file
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/254644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档