一尘不染

仅在不存在换行符时添加它

linux

我只想在文件末尾添加换行符,以防止在文件末尾出现多个换行符。

我希望使用sed。这是我当前代码遇到的问题:

sed -i -e '/^$/d;$G' /inputfile

echo file1
name1
name2

echo file2
name3
name4
(newline)

当我在文件上运行代码时;

echo file1
name1
name2
(newline)

echo file2
name3
name4

如果没有,它将添加换行符,如果存在则将其删除…这使我感到困惑。


阅读 301

收藏
2020-06-07

共1个答案

一尘不染

由于它会删除换行符(如果不存在),因此您可以简单地使用:

echo "" >> file;  sed -ie '/^$/d;$G' file; sed -ie '/^$/d;$G' file

添加换行符并删除所有内容,然后添加换行符。不是优雅的方式,但肯定可以工作:)

2020-06-07