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

file dosfile.txt

使用dos2unix

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

dos2unix dosfile.txt

安装dos2unix

yum -y install dos2unix

使用tr

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

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

使用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字符了。

使用Emacs

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

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

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

使用sed

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

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

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

使用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

使用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

使用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

总结

还有其它DOS和UNIX文本文件的转换方法,我个人推荐使用vim命令。但是,对于大型的文件,推荐使用perl工具,你也不希望在vim或Emacs中打开几个G的文本文件。

DOS和UNIX文本文件之间相互转换的方法的更多相关文章

  1. python datetime和unix时间戳之间相互转换

                                python datetime和unix时间戳之间相互转换 1.代码:    import time    import datetime # ...

  2. dos与unix文件格式之间的转换

    1. VI编辑器中转换 在VI中使用命令 set ff?(fileformat)可以查看文件的格式,使用set ff=dos(unix)可以设置文件的格式 2.使用sed处理(来至http://www ...

  3. win32内核程序中进程的pid,handle,eprocess之间相互转换的方法

    很有用,收下以后方便查询. 原贴地址:http://bbs.pediy.com/showthread.php?t=119193 在win32内核程序开发中,我们常常需要取得某进程的pid或句柄,或者需 ...

  4. C# DataTable 和List之间相互转换的方法

    介绍:List/IEnumerable转换到DataTable/DataView,以及DataTable转换到List 正文: 一.List<T>/IEnumerable转换到DataTa ...

  5. 转 C# DataTable 和List之间相互转换的方法

    一.List/IEnumerable转换到DataTable/DataView 方法一: /// <summary> /// Convert a List{T} to a DataTabl ...

  6. 关于数组和List之间相互转换的方法

    1.List转换成为数组:返回数组的运行时类型.如果列表能放入指定的数组.否则,将根据指定数组.如果指定的数组的元素比列表的多),那么会将存储列表元素的数组. 返回:包含列表元素的list.add(& ...

  7. json对象与javaBean,String字符创之间相互转换的方法

    原创:转载请注明出处 package com.allcam.system.utils; import com.fasterxml.jackson.databind.ObjectMapper; publ ...

  8. C# DataTable 和List之间相互转换的方法(转载)

    来源:https://www.cnblogs.com/shiyh/p/7478241.html 一.List<T>/IEnumerable转换到DataTable/DataView 方法一 ...

  9. protobuf与json相互转换的方法

    google的protobuf对象转json,不能直接使用FastJson之类的工具进行转换,原因是protobuf生成对象的get方法,返回的类型有byte[],而只有String类型可以作为jso ...

随机推荐

  1. Hicharts弄个样例

    前端的事情,但最好自己要了解一下,能作个最简单的东东出来... 样例,需要的时候,用用,就喟给它一样模板数据即可. PYTHON,把字典的键值和KEY值匹配成列表即可. $(function () { ...

  2. [mock]10月4日

    第一次mock,CollabEdit开一个页面,开始做题.题目是,有方法pow(m,n),m和n都大于1,给出N,有顺序的打印出前N个pow(m,n)的结果.前一个是:4,8,9,16,... 然后在 ...

  3. 好看的UI设计网站 www.ui.cn 和 插画网站 www.pixiv.net 千图网,界面很不错~

    http://www.ui.cn/?t=share#project http://www.pixiv.net/ http://www.flaticon.com/ www.58pic.com 那张 给人 ...

  4. HttpResponseCache 网络缓存使用

    Caches HTTP and HTTPS responses to the filesystem so they may be reused, saving time and bandwidth. ...

  5. linux上TCP connection timeout的原因查找

    linux上TCP connection timeout的原因查找 好久没有写文章了, 今天解决了一个网络连接超时的问题, 记录以备查看. 最近在线上nginx经常出现输出connection tim ...

  6. 将eclipse新建项目的默认编码GBK改为UTF-8

    在eclipse下: 新建项目默认编码设置:Window->Preferences->General->Workspace->Text file encoding 将其改为UF ...

  7. 【转】iOS开发者账号和证书

    原文网址:http://www.jianshu.com/p/8e967c1d95c2 从Xcode7之后,苹果支持了免证书调试,但是若是需要调试推送功能,或者需要发布App,则需要使用付费的开发者账户 ...

  8. (转载)JavaScript中的Window窗口对象

    (转载)http://www.ijavascript.cn/jiaocheng/javascript-window-65.html 例子: <html> <head> < ...

  9. poj magic number

    Problem H Time Limit : 4000/2000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Sub ...

  10. substring 在C#,Javascript,SQL 中index开始值

    substring函数index参数在三个平台的开始值: 平台 index参数开始值 C# 0 Javascript 0 SQL 1