在 bash 文件末尾添加换行符
Posted
技术标签:
【中文标题】在 bash 文件末尾添加换行符【英文标题】:Add new line character at the end of file in bash 【发布时间】:2014-05-28 03:52:26 【问题描述】:如何使用 bash 命令行在名为 file.txt
的文件末尾添加换行符。
我尝试使用echo
,但它不正确。你能告诉我我该怎么做吗?
【问题讨论】:
见unix.stackexchange.com/questions/31947/… 【参考方案1】:echo "" >> file.txt
在末尾添加换行符
【讨论】:
非常简单,速度极快,即使在非常大的文件上也是如此。>>
似乎总是快速追加。
echo >> file.txt
也可以,你不需要""
部分。【参考方案2】:
与sed
:
sed -i '' -e '$a\' file.txt
echo
:
echo >> file.txt
【讨论】:
我不认为awk
一个是正确的。这将为file.txt
的每一行创建一个文件,该文件以该行的内容命名,并包含一个换行符...
sed -i '$a\' file.txt
就够了【参考方案3】:
使用 Vi,它会在文件保存时在 EOF 处自动创建 EOL。
例如:
vi -escwq foo.txt
或:
ex -scwq foo.txt
要更正多个文件,请检查:How to fix 'No newline at end of file' for lots of files? 在 SO
【讨论】:
【参考方案4】:GNU bash,版本 3.2.57(1)-release (x86_64-apple-darwin14)
echo \ >> file.txt
【讨论】:
添加空格和换行符。 啊,是的,你是对的。它将空格附加到新行之前的行。很好的收获。【参考方案5】:这对我有用。
sed -i -z 's/$/\n/g' file.txt
【讨论】:
【参考方案6】:这适用于centos,上面的空字符串没有。
sed -i -e '$a\' file
【讨论】:
以上是关于在 bash 文件末尾添加换行符的主要内容,如果未能解决你的问题,请参考以下文章
正常shell bash脚本文件最后一行末尾是否应该添加换行符?(应该另起一行)
Set-Content在我的文件末尾添加换行符(换行符,CRLF)