DOS和UNIX文本文件之间相互转换的方法&批量
发布网友
发布时间:2022-11-02 20:38
我来回答
共1个回答
热心网友
时间:2023-10-24 17:50
send 批量替换
单个文件修改
在Unix/Linux下可以使用file命令查看文件类型,如下:
1
file dosfile.txt
使用dos2unix
一般Linux发行版中都带有这个小工具,只能把DOS转换为UNIX文件,命令如下:
1
dos2unix dosfile.txt
安装dos2unix
1
yum -y install dos2unix
使用tr
使用tr命令拷贝标准输入到标准输出,替换或者删除掉选择的字符,只能把DOS转换为UNIX文件,命令如下:
1
tr -d '\r' < dosfile.txt > unixfile.txt
使用vim
Vim是一个vi的改进版本,可以运行在Windows和Linux平台上,使用方法如下:
注:为了能让vim可以自动识别DOS和UNIX文本文件格式,可以在.vimrc(Linux)或_vimrc(Windows)配置文件中加入如下一行设置:
使用Emacs
Emacs是一个Unix下面的文本编辑工具。它会在底部的状态栏上显示文件的信息。
使用sed
在DOS文件格式中使用CR/LF换行,在Unix下仅使用LF换行,sed替换命令如下:
使用Perl
Perl是相当直接,你添加或删除掉文件每行结尾的CR字符。
使用awk
DOS转UNIX:awk '{sub("\r 0);print $0}' dosfile.txt > unixfile.txt
使用Python
DOS转UNIX:python -c "import sys; map(sys.stdout.write, (l[:-2] + '\n' for l in sys.stdin.readlines()))"< dosfile.txt > unixfile.txt
总结
还有其它DOS和UNIX文本文件的转换方法,我个人推荐使用vim命令。但是,对于大型的文件,推荐使用perl工具,你也不希望在vim或Emacs中打开几个G的文本文件。