How to convert DOS/Windows newline (CRLF) to Unix

怎样转换DOS/Windows newline (CRLF) 和Unix newline (\n)文本文件

How to convert DOS/Windows newline (CRLF) to Unix

在Unix/Linux下可以使用file命令查看文件类型,如下:

file dosfile.txt

1、使用dos2unix

一般Linux发行版中都带有这个小工具,只能把DOS转换为UNIX文件,命令如下:

dos2unix dosfile.txt

安装dos2unix

yum -y install dos2unix

2、使用tr

使用tr命令拷贝标准输入到标准输出,替换或者删除掉选择的字符,只能把DOS转换为UNIX文件,命令如下:

tr -d '\r' < dosfile.txt > unixfile.txt

3、使用vim

Vim是一个vi的改进版本,可以运行在Windows和Linux平台上,使用方法如下:

vim dosfile.txt

DOS转UNIX::set ff=unix

UNIX转DOS::set ff=dos

:wq

注:为了能让vim可以自动识别DOS和UNIX文本文件格式,可以在.vimrc(Linux)或_vimrc(Windows)配置文件中加入如下一行设置:

set fileformats=dos,unix

设置完成后,使用vim打开DOS文本文件就不会显示^M字符了

4、使用Emacs

Emacs是一个Unix下面的文本编辑工具。它会在底部的状态栏上显示文件的信息。

DOS转UNIX :M-xset-buffer-file-coding-system Unix

UNIX转DOS:M-xset-buffer-file-coding-system dos

5、使用sed

在DOS文件格式中使用CR/LF换行,在Unix下仅使用LF换行,sed替换命令如下:

DOS转UNIX:$ sed 's/.$//' dosfile.txt > unixfile.txt

UNIX转DOS:$ sed 's/$/\r/' unixfile.txt > dosfile.txt

6、使用Perl

Perl是相当直接,你添加或删除掉文件每行结尾的CR字符。

DOS转UNIX:perl -p -e 's/\r$//' < dosfile.txt > unixfile.txt

UNIX转DOS:perl -p -e 's/$/\r/' < unixfile.txt > dosfile.txt

7、使用awk

DOS转UNIX:awk '{sub("\r$","", $0);print $0}' dosfile.txt > unixfile.txt

UNIX转DOS:awk '{sub("$","\r", $0);print $0}' dosfile.txt > unixfile.txt

8、使用Python

DOS转UNIX:python -c "import sys; map(sys.stdout.write, (l[:-2] + '\n' for l in sys.stdin.readlines()))"< dosfile.txt > unixfile.txt

UNIX转DOS:python -c "import sys; map(sys.stdout.write, (l[:-1] + '\r\n' for l in sys.stdin.readlines()))"< dosfile.txt > unixfile.txt

参考:
HowTo: UNIX / Linux Convert DOS Newlines CR-LF to Unix/Linux Format
How to convert DOS/Windows newline (CRLF) to Unix newline (\n) in bash script?
How to convert DOS/Windows newline (CRLF) to Unix

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,686评论 9 468
  • 文/北城久寒从前有位张老师为我操过心 一. 张老师啊,不知道你还记得我吗? 记得你刚来我们班的时候,自我介绍的那一...
    北城久寒阅读 558评论 1 1
  • 躲懒,躲在家里各种琐事后面,家务,姐姐的小娃娃,洗衣做饭,有时候又是什么都不做,坐在电视机前嗑瓜子,或者太阳底下看...
    千尘阅读 214评论 1 0