在文件中添加一个新行,检查Bash中是否有最后一个字符是换行符

kho*_*ter 2 bash

我想在文件的末尾附加一个新行,但我正在使用的一些文件可能不包含换行符作为它们的最后一个字符,这意味着我将附加到同一行.

有没有简单的方法来检查换行符,并相应调整?

echo "some line of text" >> aFile.txt

Jon*_*ler 8

您可以使用:

x=$(tail -c 1 aFile.txt)
if [ "$x" != "" ]
then echo >> aFile.txt
fi
echo "some line of text" >> aFile.txt
Run Code Online (Sandbox Code Playgroud)

$(...)操作者除去从嵌入在它的命令的输出其后的换行符,并且tail -c 1命令打印文件的最后一个字符.如果最后一个字符不是换行符,则该字符串"$x"不为空,因此在附加新文本行之前,请在文件中附加换行符.