gsed 在文件末尾添加 _single_ 换行符

gsed add _single_ newline at end of file

我正在尝试在文件末尾创建一个 换行符。 我的命令是这样的:

gsed -i '$a\r' outfiles/*.txt

这会以某种方式创建 两个 换行符,我无法弄清楚我做错了什么。

有什么想法吗?

我的第一个想法是在最后一行用换行符替换行尾。

sed '$s/$/\n/'

但我的第二个想法很好:

sed '$G'

从保留 space 抓取将换行符附加到模式 space,然后将保留 space 附加到模式 space。因为 hold space 是空的,所以它实际上只添加换行符。

保持清晰和简单,只需使用 gawk:

gawk -i inplace 'ENDFILE{print ""}' outfiles/*.txt