I Forgot My Newline

This is a friendly reminder to always leave a blank line at the end of your text files. You might be thinking that it doesn’t really matter, and in many cases you’d probably be correct. However, there are also plenty of configuration files for apps that require it to be there. Those that do will most likely not tell you so it would be quite hard to find and fix the problem.

Technically, a text file is just a series of lines ending in a newline character “\n”. On very old systems, a file without the ending newline would not even be considered a text file. Operating systems and applications nowadays can handle this and still read the file, but not without problems. The most likely issue is that the last line will be completely ignored. Due to the missing newline, it’s not even considered a line of text. Hope the last line of your file wasn’t important!

A prime example is cron in Unix-like operating systems. Filling up the last line in a crontab and forgetting to add a newline at the end is one of the most common problems people run into when new to cron. That last command at the end of the crontab will simply not run.

I’ve run into this a few times in the past, so I decided to look it up and find out the deeper reasons behind programs expecting “\n”. I thought it would be interesting, and it was. I hope you’ve learned a useful tip, even if you don’t care about the reasons behind it.

If you want to be sure to never have this problem, check out Sublime Text, my favorite text editor for code and everything else. It has an option to force a newline at the end of a file on saving. Sweet! If you are already using Sublime Text, see my previous post on replacing the default icon with something much cooler.