A newline (also known as a line ending, end of line (EOL) or line break) is a character used to represent the end of a line of text and the beginning of a new line.
Text files created on DOS/Windows machines have different line endings than files created on Unix/Linux.
This note shows how to find out the line endings in a text file and how to change them.
Cool Tip: How to break lines and insert new lines using the echo
command from the Command Prompt (CMD) and Windows PowerShell! Read more →
Line Endings
Find Out Line Endings
To find out whether a file uses LF
or CRLF
line endings, you can use the file
command:
$ file <filename>
If the file has the Unix/Linux-style newline characters (\n
or LF
), it will be displayed as:
file.txt: ASCII text
If it has the DOS/Windows line endings (\r\n
or CRLF
), you will see:
file.txt: ASCII text, with CRLF line terminators
Display Line Endings
To show the end of line (EOL) characters in a text file you can also use the cat
command:
$ cat -e <filename>
The Unix/Linux line breaks (\n
or LF
) will be displayed as $
:
line1$ line2$
The DOS/Windows line breaks (\r\n
or CRLF
) will be displayed as ^M$
:
line1^M$ line2^M$
Cool Tip: How to add a newline at the EOF on save in Sublime Text! Read more →
Change Newline Characters
The line endings in a text file can be converted from Unix/Linux format to DOS/Windows format and vice versa using the dos2unix
utility.
To convert the newline characters from DOS/Windows to Unix/Linux:
$ dos2unix <filename>
To convert the newline characters from Unix/Linux to DOS/Windows:
$ unix2dos <filename>