`
wdp107
  • 浏览: 141031 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Linux上如何进行换行符转换

阅读更多
 (一)

  最近在学习shell编程,可是在《Linux程序设计》指定的网站上下载了源码,使用的时候却一直出问题。提示:”bash: ./here1:/bin/sh^M:损坏的解释器: 没有该文件或目录“。之后用vi编辑器打开文件,发觉每一行的最后有浅蓝色的字符'^M'。才知道了问题所在

  其实并没什么奇怪的,出现这种错误的原因是因为Linux和Windows文本文件的行结束标志不同。在Linux中,文本文件用"\n"(0a)表示回车换行,而Windows用"\r\n"(0d 0a)表示回车换行。所以在Linux中使用Windows的文本文件常常会出现错误。为了避免这种错误,Linux提供了两种文本格式相互转化的命令:dos2unix和unix2dos,dos2unix把"\r\n"转化成"\n",unixtodos把"\n"转化成"\r\n"。

  命令dos2unix和unix2dos的使用非常简单,格式为:dos2unix filename

  如果想更多的了解这两个命令,可以查看手册:

  man dos2unix

  它会告诉你dos2unix的高级用法

  (二)

  Ubuntu下默认没有安装dos2unix工具,而且也没有一个叫这个名字的工具(我在solaris里用过dos2unix,不知道为啥Ubuntu没有)。但是有一个替代工具——tofrodos , 下面就说一下它的安装和使用。

  当然还是apt安装啦。

  (1)安装tofrodos

  sudo apt-get install tofrodos

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

  安装完即可,现在你已经可以进行文本格式的转换啦。

  比如: todos Hello.txt (即unix2dos Hello.txt)

  fromdos Hello.txt (即dos2unix Hello.txt)

  (2)做一些优化

  由于习惯了unix2dos和dos2unix的命令,可以把上面安装的两个工具链接成unix2dos 和dos2unix,或者仅仅是起个别名,并放在启动脚本里。

  步骤:

以下是代码片段:
    ln -s /usr/bin/todos /usr/bin/unix2dos
  ln -s /usr/bin/fromdos /usr/bin/dos2unix


  或者在 ~/.bashrc里起个别名

  vi ~/.bashrc

  添加 alias unix2dos=todos alias dos2unix=fromdos

  (三)

  另外如果要在目录中大量替换, 可以使用find + xargs

  比如:

  find ./model -name *.sh | xargs fromdos
分享到:
评论

相关推荐

    去除数据中字符串的换行符;解决ETL中字符串换行符;ORACLE|DB2

    - - 去除数据文件中字符串的换行符; - - 使用此工具,必须有明确的行分隔符标记,且换行符标记不可在字符串中出现。否则无法使用,需要修改匹配搜索方式 ### 工具效率: 亲测200M文件5s中完成转换。 ### 使用...

    ^M 转换工具 简单换行符转换工具

    用于转换又win下保存文件上传到Linux/Unix导致的,行尾出现 ^M 的问题。 使用方法: ./mod13-linux file1 file2 ... 说明: 内含编译好的 适用于linux的mod13-linux和unix的mod13-solaris。 给懒得用正则表达式替换...

    GIT 换行符自动转换导致整个文件被修改的解决方案

    Unix/Linux使用的是LF,Mac后期也采用了LF,但Windows一直使用CRLF【回车(CR, ASCII 13, \r) 换行(LF, ASCII 10, \n)】作为换行符。而git入库的代码采用的是LF格式,它考虑到了跨平台协作的场景,提供了“换行符自动...

    Linux 或Android 到Windows文本文件换行符处理程序

    由于Linux和Windows文件系统所定义的换行符不同,所以从Linux或Android到Windows的文件需要转换一下换行符。 是一个很使用的小工具。 由本人亲自编写,本来在网上下载过别人写的工具,真是很扯淡。一气之下,本人就...

    Linux 中 ^M 转换

    linux 下文件有^M, 如何转换,是因为mac,windows和linux 下的换行符不一样

    php表单转换textarea换行符的方法

    1.必须知道textarea中的换行符是 \n (个人检测发现按回车键是\n,好像在linux下是\r\n) 2.用nl2br之前,请仔细看好手册解释,我就是搞郁闷了,一般都理解为将\n转换成 ,其实不是的: 看php手册解释: nl2br – ...

    unix-dos 文本转换工具

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

    CR LF CRLF转换

    CR LF CRLF转换 即Mac Unix Linux Windows之间的换行符装换工具 示例和换行符查看工具

    详解Linux文本文件与WIN文本文件换行格式转换命令

    而在Linux中,则仅有LF ($) 这个换行符。 可以用如下命令完成格式转换:$dos2unix,$unix2dos。但这两个命令在UBUNTU发行版本中不存在,可通过: $sudo apt-get install tofrodos 命令安装。之后,再次使用如下文所...

    ffftp-2.00-src.zip

    FFFTP上传下载工具, 安装环境:Windows 10, 8.1, 8, 7, Vista, XP, 2000 通过该工具可将文件上传下载到linux,实现换行符的转换。 windows和linux的文件的换行符不一样。\r\n→\n

    LINUX 20招

    <br>6.Linux里的Norton Commander  在提示符下键入命令mc后你就会看到一个与Norton Commander很相似的界面,实际上功能也很相似甚至更强大,比如可以直接对.tar.gz压缩包里的文件进行操作(有点像ZipMagic)。...

    RED HAT LINUX 6大全

    14.8.1 在Linux客户上使用smbclient 252 14.8.2 在Linux客户上加载共享 253 14.8.3 在Windows客户上加载共享 253 14.9 公用smb.conf配置选项 253 14.9.1 特殊约定 254 14.9.2 read Only=Versus writeable=Versus ...

    expand命令 转换为空白字符

    将文件中每行第一个Tab符替换为6个空格符,非空白符后的制表符不作转换: [root@linuxcool ~]# expand -i -t 6 file 与该功能相关的Linux命令:rhmask命令 – 加密和解密文件mysqladmin命令 – MyS

    Linux操作系统基础教程

    是由互联网上的 Linux社团(Linux Community)互通交流而完成的。Linux 不属于任何一 家公司或个人,任何人都可以免费取得甚至修改它的源代码(source code)。Linux 上的大部 分软件都是由 GNU倡导发展起来的,所以...

    Dos2unix和SFTP工具与实例

    ①使用Dos2unix.exe实现Windows、Unix(Linux)系统间换行符转换实例; ②使用winscp551setup.exe实现SFTP方式的文件同步; 注:winscp551setup.exe的使用方法不详之处请参考安装后的操作手册,强于所有网上资料。

    LINUX与UNIX SHELL编程指南(很全)

    18.7.6 扫描文件行来进行数目统计 191 18.7.7 每次读一对记录 193 18.7.8 忽略#字符 193 18.7.9 处理格式化报表 194 18.7.10 while循环和文件描述符 196 18.8 使用break和continue控制循环 197 18.8.1 break 197 ...

    Linux shell编程指南

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还...18.7.6 扫描文件行来进行数目统计 191 18.7.7 每次读一对记录 193 18.7.8 忽略#字符 193 18.7.9 处理格式化报表 194 18.7.10 while循环和文件描述...

    Linux与unix shell编程指南

    18.7.6 扫描文件行来进行数目统计 191 18.7.7 每次读一对记录 193 18.7.8 忽略#字符 193 18.7.9 处理格式化报表 194 18.7.10 while循环和文件描述符 196 18.8 使用break和continue控制循环 197 18.8.1 break 197 ...

    linux文本处理三剑客之 awk 命令(二)

    文章目录表达式统计input文件中的空白行平均值的计算系统变量格式化输出awk的ascii字符的转换awk的字符型字符的转换printf 修饰符的栗子内置字符串函数举个例子 表达式 统计input文件中的空白行 平均值的计算 ...

Global site tag (gtag.js) - Google Analytics