如何在Unix、Linux和Windows文本文件之间转换

时间:2019-11-20 08:52:51  来源:igfitidea点击:

如何在Unix和Windows文本文件之间转换换行符。
在Unix/Linux中显示Windows文本文件时,在每行后面都有^M是什么原因?
这是换行符(EOL),在vi中按Ctrl+M就会输入。
我们可以使用命令进行转换。

使用dos2unix和unix2dos命令

将UNIX文件的换行符转换为MS-Windows的换行符

$ cat -v input.txt
$ unix2dos input.txt output.txt
$ cat -v output.txt
$ vi output.txt

将MS-Windows文件的换行符转换为Unix的:

$ cat -v input.txt
$ dos2unix input.txt output.txt
$ cat -v output.txt

使用awk命令转换windows文本文件

也可以使用awk命令将MS-Windows文件转换为Unix格式:

$ cat -v input.txt
$ awk '{ sub("\r$", ""); print }' input.txt > output.txt
$ cat -v output.txt

或者将Unix文件的换行符转换为MS-Windows格式:

$ cat -v input.txt
$ awk 'sub("$", "\r")' input.txt > output.txt
$ cat -v output.txt