HowTo: UNIX / Linux Convert DOS Newlines CR-LF to Unix/Linux Format (Reposted)

How do I convert DOS newlines CR/LF to Unix/Linux format?

To converts text files between DOS and Unix formats you need to use special utility called dos2unix. DOS text files traditionally have carriage return and line feed pairs as their newline characters while Unix text files have the line feed as their newline character.

 

Unix/Linux Vim

Command mode: set fileformat=unix

 

UNIX/Linux Commands

You can use the following tools:

  • dos2unix (also known as fromdos) - converts text files from the DOS format to the Unix
    format
  • unix2dos (also known as todos) - converts text files from the Unix format to the DOS format.
  • sed - You can use sed command for same purpose
  • tr command
  • Perl one liner

Task: Convert DOS file to UNIX format

Type the following command to convert file called myfile.txt:
$ dos2unix myfile.txt

However above command will not make a backup of original file myfile.txt. To make a backup of original file. The original file is renamed with the original filename and a .bak extension. Type the following command:
$ dos2unix -b myfile.txt

Task: Convert UNIX file to DOS format

Type the following command to convert file called myfile.txt:
$ unix2dos myfile.txt
$ unix2dos -b myfile.txt

Task: Convert Dos TO Unix Using tr command 

tr -d '\r' < input.file > output.file

Task: Convert Dos TO Unix Using Perl One Liner

perl -pi -e 's/\r\n/\n/g' input.file

Task: Convert UNIX to DOS format using sed command

Type the following command if you are using bash shell:
$ sed 's/$'"/`echo \\\r`/" input.txt > output.txt
Note: sed version may not work under different UNIX/Linux variant,refer your local sed man page for more info.

Task: Convert DOS newlines (CR/LF) to Unix format using sed command

If you are using BASH shell type the following command (press Ctrl-V then Ctrl-M to get pattern or special symbol)
$ sed 's/^M$//' input.txt > output.txt
Note: sed version may not work under different UNIX/Linux variant, refer your local sed man page for more info.

猜你喜欢

转载自huanyue.iteye.com/blog/1775043