Add new line character at the end of file in bash

How can I use bash command line to add new line character at the end of file named file.txt. I tried use echo but it's not right. Can you show me how can I do it?


Solution 1:

echo "" >> file.txt

Adds a newline character at the end

Solution 2:

With sed:

sed -i '' -e '$a\' file.txt

with echo:

echo  >> file.txt

Solution 3:

Use Vi which automatically creates EOL at EOF on file save.

For example:

vi -escwq foo.txt

or:

ex -scwq foo.txt

To correct multiple files, check: How to fix 'No newline at end of file' for lots of files? at SO