dos2unix 命令

| 选择喜欢的代码风格  

dos2unix 命令安装:


-bash: fping: command not found

#CentOS/RHEL 安装
yum install -y dos2unix

#Debian/Ubuntu 安装
sudo apt-get install tofrodos

#实际上它安装了两个工具:todos(相当于unix2dos),和fromdos(相当于dos2unix)
todos Hello.txt (即 unix2dos Hello.txt) 
fromdos Hello.txt (即 dos2unix Hello.txt)


#Fedora 22+
sudo apt install dos2unix

#Arch Linux
pacman -Ss dos2unix

dos2unix 命令补充说明:


在 DOS/Windows 文本文件中,换行符(也称为换行符)是两个字符的组合:回车符(CR - Carriage Return)后跟换行符(LF - LineFeed)。 在 Unix 文本文件中,换行符是单个字符:换行符(LF)。 在 Mac 文本文件中,在 macOS X 之前,换行符是单个回车符(CR)字符。 现在 macOS 使用 Unix 风格(LF)换行符。

除非强制转换,否则会自动跳过二进制文件。

将自动跳过非常规文件,例如目录和 FIFO。

默认情况下,符号链接及其目标保持不变。 可以选择替换符号链接,或者可以将输出写入符号链接目标。 不支持 Windows 上的符号链接。 Windows 符号链接始终被替换,保持目标不变。

Dos2unix 在 SunOS/Solaris 下以 dos2unix 建模,并具有类似的转换模式。

dos2unix 命令语法:


dos2unix [options] [FILE ...] [-n INFILE OUTFILE ...]

dos2unix 命令选项:


-k:保持输出文件的日期不变
-q:安静模式,不提示任何警告信息。
-V:查看版本
-c:转换模式,模式有:ASCII, 7bit, ISO, Mac, 默认是:ASCII。
-o:写入到源文件
-n:写入到新文件

dos2unix 命令参数:


参数:需要转换到文件。

dos2unix 命令实例


最简单的用法就是 dos2unix 直接跟上文件名:

dos2unix file

如果一次转换多个文件,把这些文件名直接跟在 dos2unix 之后。(注:也可以加上 -o 参数,也可以不加,效果一样):

dos2unix file1 file2 file3
dos2unix -o file1 file2 file3

dos2unix 上面在转换时,都会直接在原来的文件上修改,如果想把转换的结果保存在别的文件,而源文件不变,则可以使用 -n 参数

dos2unix -n in.txt out.txt

如果要保持文件时间戳不变,加上 -k 参数。所以上面几条命令都是可以加上 -k 参数来保持文件时间戳的:

dos2unix -k file
dos2unix -k file1 file2 file3
dos2unix -k -o file1 file2 file3
dos2unix -k -n oldfile newfile

从 Windows UTF-16(无BOM)转换为 Unix UTF-8:

iconv -f UTF-16 -t UTF-8 in.txt | dos2unix > out.txt

使用 BOM 从 Unix UTF-8 转换为 Windows UTF-8:

unix2dos -m -n in.txt out.txt

dos2unix 命令扩展阅读:




发表评论