`
totoxian
  • 浏览: 1080227 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

将dos格式换行文本转为Unix格式

阅读更多

原文:http://blogmag.net/blog/read/136/Convert_text_files_from_DOS_to_UNIX_and_vice_versa

周海汉 /译

注:本文是简译。

dos/windows的纯文本回车换行,即\r\n,记为CRLF,16进制为0d0a,Unix/Linux是\n,16进制为0a, 记为LF, mac为\r, 0a。

下面主要讲将\r\n 转为unix的\n的方法。

$ 
file dosfile.txt 
dosfile.txt: ASCII text, with CRLF line terminators
$ file unixfile.txt
unixfile.txt: ASCII text

使用tr

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

使用vim

$ 
vim dosfile.txt
...
:set FileFormat = unix

可以用:set FileFormat=dos 来转为dos格式。简写为FF。可以:help Fileformat来查看帮助。

使用emacs

set-buffer-file-encoding-system
 函数设置coding-system。
M-x set-buffer-file-coding-system Unix

使用sed

$ 
sed 's/.$//'
 dosfile.txt  > new_unixfile.txt
将unix转dos格式
$ sed 's/$' "/`echo -e " \r "`/" unixfile.txt > new_dosfile.txt
新版gnu sed:
$ sed 's/$/\r/' unixfile.txt > new_dosfile.txt

使用perl

$ 
perl -p -e 's/\r$//'
 < dosfile.txt > new_unixfile.txt
$ perl -p -e 's/$/\r/' < unixfile.txt > new_dosfile.txt

使用awk


$ awk '{sub("\r$", "", $0);print $0}' dosfile.txt > new_unixfile.txt
$ awk '{sub("$", "\r", $0);print $0}' unixfile.txt > new_dosfile.txt

使用python

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

还有其他的方法。对大文件,建议用sed,awk,perl,python,不建议用vi,emacs.
分享到:
评论

相关推荐

    dos2unix命令 将DOS格式的文本文件转换成UNIX格式

    dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以\n作为断行标志...

    aix下面txt从dos格式转到unix格式 dos2unix

    经常遇到要在aix上写一些文本或者脚本,但是用vi太费劲,于是在win下写好 然后win的文本传到aix上, 在UNIX中,每一行的结束符是换行符; 而在WINDOWS中,每一行的结束符是&lt;RETURN&gt;...用以下几种办法可以将其格式互为转换.

    DOS2UNIX编码转换工具

    1. **DOS到UNIX转换**:将DOS格式的文本文件中的CRLF行结束符转换为LF,使得文件在UNIX或Linux环境下可以正常显示和处理。 2. **UNIX到DOS转换**:反之,它也能将UNIX格式的LF行结束符转换为CRLF,使得文件在DOS或...

    dos2unix.zip

    linux中没有dos2UNIX命令怎么解决办法,dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A。...

    dos2unix和unix2dos

    相反,unix2dos工具则是将Unix/Linux风格的文本文件转换为DOS/Windows格式。它会将文件中的LF字符替换为CR+LF组合。这个过程被称为“unix2dos转换”。 在Windows系统中,将这两个工具的可执行文件(如压缩包内的dos...

    dos2unix,unix2dos,mac2unix,unix2mac 64bit&32bit

    标题 "dos2unix, unix2dos, mac2unix, unix2mac 64bit&32bit" 提供的信息表明,这是一个关于在不同操作系统之间转换文本文件格式的工具集,主要包括了 dos2unix、unix2dos、mac2unix 和 unix2mac 这四个程序。...

    DOS文件格式转化为UNIX文件格式的C程序.zip

    DOS文件格式通常采用回车换行(CR+LF,即`\r\n`)作为行结束符,而UNIX文件格式则只使用换行(LF,即`\n`)作为行结束。因此,当一个DOS格式的文件在UNIX系统中打开时,每行后面会多出一个不必要的回车字符,这可能...

    dos2unix安装包附安装说明书.zip

    在Linux系统中,dos2unix工具是一个非常实用的命令行程序,用于将文本文件的格式从DOS/Windows风格转换为UNIX/Linux风格。这个转换主要包括行尾符的更改,DOS文件通常使用CRLF(回车换行)作为行结束符,而UNIX/...

    将unix文本文件转换成dos(windows)文本文件的例子 (10KB)...

    标题中的“将Unix文本文件转换成DOS(Windows)文本文件的例子”指的是在不同操作系统间进行文本文件格式转换的问题。Unix和Windows系统在处理文本文件时有不同的行结束符:Unix使用换行符(LF),而DOS/Windows系统则...

    dos2unix_6.0.3

    这个工具的主要功能是将那些使用CRLF(回车换行)作为行结束符的DOS/Windows格式文本文件转换成使用LF(换行)作为行结束符的UNIX/Linux格式文本文件。这种转换对于确保跨平台的兼容性和正确性至关重要,特别是在...

    unix-dos 文本转换工具

    1、由于windows平台与linux平台下的换行符不同,因此在不同平台间传送文件时,因经过转换,此工具即实现了此功能。 2、此资源包文件列表如下: a) unix2dos.c #unix2dos源... #命令格式:dos2unix &lt;源文件&gt; &lt;目标文件&gt;

    dos2unix for windows

    标题 "dos2unix for windows" 指的是一款在Windows操作系统上使用的工具,它能够帮助用户将原本在Windows环境下创建的文件格式转换成Linux或Unix系统兼容的格式。这个过程主要是处理文件中的换行符差异,因为Windows...

    windows下UNIX2DOS

    使用方法:拖放要转换的文本文件至输入窗口中,选择要转换的方式(DOS2UNIX或UNIX2DOS),点转换即可直接转换 注:支持命令提示符下参数操作 功能: unix文本文件与dos文本文件相互转换 1、unix文本转DOS文本...

    dos2unix linux安装包

    1. **文本格式转换**:dos2unix 主要用于将文本文件中的DOS/Windows风格的换行符(CRLF)转换为Unix/Linux风格的换行符(LF)。这样,文件在Unix/Linux系统中可以正常显示和处理,避免出现乱码或无法正确读取的问题...

    dos2unix 安装软件包.zip

    标题中的“dos2unix”是一个在Unix/Linux系统中使用的工具,用于将文本文件从DOS/Windows格式转换为Unix/Linux格式。这个工具处理的主要问题是换行符的不同:DOS/Windows使用CRLF(回车+换行)作为行结束符,而Unix/...

    linux下dos转unix

    这个工具可以方便地将DOS/Windows格式的文本文件转换为Unix/Linux格式。以下是对`dos2unix`工具的详细说明: 1. **安装dos2unix**:在大多数Linux发行版中,可以通过包管理器来安装`dos2unix`。例如,在Ubuntu或...

    dos2unix-6.0.3-4.el7.x86_64.rpm

    dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的

    dos2unix-win32

    dos2unix可以将DOS/Windows格式的文本文件转换为UNIX/Linux格式,或者反之。 描述中的"经常提示找不到的文件,放在win32的system文件夹下即可"表明,在Windows 32位环境下,可能需要将dos2unix工具放置在系统路径下...

    DOS文件格式转化为UNIX文件格式的C程序.zip_DOS

    用户可以使用这个程序快速将DOS格式的文件转换为UNIX格式,无需手动修改每个文件。 www.pudn.com.txt 可能是下载来源的说明或者示例输入文件,PUDN是一个知名的中文技术资源网站,这个文件可能包含了关于程序的说明...

    [原创]unix2dos dos2unix 批量 windows升级版

    unix2dos批量转换工具(双向) MS桌面版 前一版描述较不祥细,以至于很同朋友不知道可以选择多个文件拖放,故在此多啰嗦几句。 注明:1、窗口支持拖放,单文件或多文件同时拖放均可 2、新版本添加文件列表窗口中点...

Global site tag (gtag.js) - Google Analytics