【发布时间】:2014-05-28 03:52:26
【问题描述】:
如何使用 bash 命令行在名为 file.txt 的文件末尾添加换行符。
我尝试使用echo,但它不正确。你能告诉我我该怎么做吗?
【问题讨论】:
如何使用 bash 命令行在名为 file.txt 的文件末尾添加换行符。
我尝试使用echo,但它不正确。你能告诉我我该怎么做吗?
【问题讨论】:
echo "" >> file.txt
在末尾添加换行符
【讨论】:
>> 似乎总是快速追加。
echo >> file.txt 也可以,你不需要"" 部分。
与sed:
sed -i '' -e '$a\' file.txt
echo:
echo >> file.txt
【讨论】:
awk 一个是正确的。这将为file.txt 的每一行创建一个文件,该文件以该行的内容命名,并包含一个换行符...
sed -i '$a\' file.txt 就够了
使用 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
【讨论】:
GNU bash,版本 3.2.57(1)-release (x86_64-apple-darwin14)
echo \ >> file.txt
【讨论】:
这对我有用。
sed -i -z 's/$/\n/g' file.txt
【讨论】:
这适用于centos,上面的空字符串没有。
sed -i -e '$a\' file
【讨论】: