精华内容
参与话题
问答
  • 今天我们这个新项目组的成员们基于Windows利用EAI技术(Enterprise Application Integration)开发简单的系统集成应用,需要将类似于JavaBean的持久化对象(存储在纯文本文件中,利用分隔进行字段和对象记录的分割...
    SeeBeyond(Sun公司的系统集成产品)服务器是在Sun Solaris机器上的。今天我们这个新项目组的成员们基于Windows利用EAI技术(Enterprise Application Integration)开发简单的系统集成应用,需要将类似于JavaBean的持久化对象(存储在纯文本文件中,利用分隔符进行字段和对象记录的分割)上传至服务器指定目录中。

    业务逻辑的实现、文件读入和文件写出都没有问题,可就是没法读出对象的字段值来,甚是郁闷。telnet登录服务器查看日志虽然看到了包含 ^M 的异常信息字样,可万没有想到是上传文本文件的时候换行符已经进行了转换。

    再请教Feroz,讲解到,由于FTP采用Binary形式上传时,Windows下的\r\n是不会被转换的,用vi查看时可以看到在每行结尾都有^M字符。而采用ASCII码上传时,则会将Windows下的\r\n转换为\n。

    以下方法清除换行符转换带来的unix系统下^M:

    (1)用vi编辑该文件,输入vi命令:
    ∶%s/^V^M//g
    (2)如果在unix&nbspshell下,则输入命令:
    %&nbspsed 's/^V^M//g'&nbspfoo >&nbspfoo.new
    注意: ^V 是&nbspcontrol +&nbspV , ^M 是&nbspcontrol +&nbspM 或&nbspEnter

    参考文章:
    [url]http://blog.csdn.net/croco1981/archive/2009/02/02/3857837.aspx[/url]
    展开全文
  • 回车符号和换行符号产生背景 关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。 在计算机还没有出现之前,有一种叫做电传打字机...但是它有一个问题,就是打完一换行的时...

    原文地址:https://www.cnblogs.com/everest33Tong/p/6202446.html

    回车符号和换行符号产生背景

    关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。
    在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
    于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。
    这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。
    后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。
    Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“ <回车><换行>”,即“\r\n”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个M符号【M即是\r】。原理是,linux/unix中的换行符\n在windows下被解释成一个黑点,而不是换行;windows下的换行符\r\n(顺序不能反)在linux下,\n被解释为换行,但是\r被解释为^M(这是Linux等系统下规定的特殊标记,占一个字符大小,不是 ^ 和 M 的组合,打印不出来的)。Linux下很多文本编辑器(命令行)会在显示这个标记之后,补上一个自己的换行符,以避免内容混乱(只是用于显示,补充的换行符不会写入文件,有专门的命令将Windows换行符替换为Linux换行符)。 UNIX/Linux系统下的换行符在Windows系统的文本编辑器中会被忽略,整个文本会乱成一团。

    windows换行是\r\n,十六进制数值是:0D0A。
    LINUX换行是\n,十六进制数值是:0A
    所以在linux保存的文件在windows上用记事本看的话会出现黑点,我们可以在LINUX下用命令把linux的文件格式转换成win格式的。
    unix2dos 是把linux文件格式转换成windows文件格式
    dos2unix 是把windows格式转换成linux文件格式。

    linux下删除windows换行符^M

    OJ判题时发现一个问题:用%c读入的代码都会报wa。后来发现跟scanf有关。在linux下使用%c会读到\n和\r两个字符。所以需要将^M(也就是\r)字符删掉
    删除方法不少。找了一个比较简单的。
    要将a.txt里的^M去掉并写入b.txt,则使用如下指令cat a.txt | tr -d “^M” > b.txt
    注意:语句中的^M是通过ctrl+V, ctrl+M输入的。特指/r字符

    unix 下换行符只有: \n
    Dos 下换行符有:\r\n
    具体的, \r的ascii 码是:13
    \n的ascii 码是:10

    展开全文
  • windows与unix换行符

    2009-05-22 15:07:00
    写文件时,经常用到换行符/n, fopen在二进制模式下, 两个系统的内容一样! fopen在文本模式下, windows的/n = 0x0D 0x0A unix 的/n = 0x0A 为了文件统一,建议以二进制写文件! 不管是什么模式, fscanf, ...

     写文件时,经常用到换行符/n,

     

     fopen在二进制模式下,

     两个系统的内容一样!

     

     fopen在文本模式下,

     windows的/n = 0x0D 0x0A

     unix 的/n = 0x0A

     

     为了文件统一,建议以二进制写文件!

     不管是什么模式,

     fscanf, fprintf, fread, fwrite

     都可以使用。

     

    展开全文
  • Windows和Unix下面的换行符问题

    千次阅读 2013-04-19 13:59:04
    ^M符号是windows系统下的換行符,在windows下的文本通过bin模式ftp上传到了unxi空间出现的,要去掉这些结束符,我们可以用dos2unix命令去掉,也可以直接在vi中操作去掉,实现方法如下: 如:在test.txt文件中有如下...

    什么是^M

    ^M符号是windows系统下的換行符,在windows下的文本通过bin模式ftp上传到了unxi空间出现的,要去掉这些结束符,我们可以用dos2unix命令去掉,也可以直接在vi中操作去掉,实现方法如下:

    如:在test.txt文件中有如下内容:
    eeesdgtdfg dfgdfgfdgfd ^M
    ineesert into pusfdgdfgfd)ff;^M
    adwwfdfed adfdsdfsfdsf.^M

    在命令模式下运行命令 :%s/^M//g 回车
    注意:里面的^M 必须是同时按 Ctrl+V+M ,表示回车,不是直接输入 ^M,也不是粘帖复制。

    命令完成后,用:x 保存退出后,再次用vi打开就全部被替换掉了。


    dos2unix是Linux下的一个用户转换格式的程序,由于windows上文件的结束符和linux上的不同,那么在windows上编写的文件或者是脚本在Linux上就会遇到类似于下面的错误:

    ?
    1
    /bin/sh^M: bad interpreter: No such file or directory

    出现上述的错误真实因为结束符的不同,要解决上述问题,只需要转换一下就行了

    方法一:针对于单个文件或少量文件:

    使用vi 编辑sh脚本或者其他的脚本文件,然后按ESC进入vi的命令行模式,输入下面的命令:

    ?
    1
    set fileformat=unix

    当然如果要将文件格式设定为dos文件格式,也就是windows的格式,那么输入下面的命令就行了

    ?
    1
    set fileformat=dos

    修改完成后,使用下面的命令查看文件的格式类型:

    ?
    1
    set ff

    缺点:只适合少量文件,当文件数较多时,工作量巨大

    方法二:批量更改linux文件格式

    和方法一类似的,Linux本身提供了dos2unix和unix2dos这两个命令来实现windows和linux文件的转换,

    但是。dos2unix和unix2dos本身没有提供递归也就是批量修改的方式,这样一来我们就需要借助于xargs命令了

    xargs的命令的作用就是将参数列表转换成小块分段传递给其他命令,借助于xargs,我们可以很简单的实现批量替换;

    这里假设我需要替换的文件所在目录为 /home/test目录下,要更改文件格式的后缀为.py ,那么借助于下面的命令就可以轻松的实现批量替换格式:

    批量替换为linux文件格式:

    ?
    1
    sudo find /home/test -name "*.py" | xargs dos2unix

    批量替换为dos文件格式:

    ?
    1
    sudo find /home/test -name "*.py" | xargs unix2dos

    优点:批量替换,工作量小, 总的来说,方法二借助于 管道符和xargs来实现的批量命令,将方法二修改一下就可以实现很多的批量操作,

    比如:

    1.批量删除整个linux系统中后缀为.tmp的文件;那么命令可以这么写:

    ?
    1
    sudo find /home/test -name "*.tmp" | xargs rm -f

    2.删除整个linux系统中与apache相关的文件:

    ?
    1
    sudo find /home/test -name "*apache" | xargs rm -rf

    只要理解了xargs的功能。你会发现xargs的方便与快捷之处,这里我也是抛砖引玉罢了


    展开全文
  • windows换行符unix

    2019-06-06 11:59:29
    dos2unix 先安装git,git自带dos2unix命令行工具。 git bash下执行批量转换命令: find . -name "*" | xargs dos2unix
  • Linux/Unix下去除window换行符^M

    千次阅读 2013-01-13 13:39:23
    原文链接:... 2010-12-13 14:45:20| 分类: LINUX | 标签:linux unix ^m 换行  |字号 订阅 ...window下保存的文本文件,上传到Linux/Unix下后总会在末尾多了一个换行符^M,导致一
  • 把windows换行符转换成unix换行符

    千次阅读 2015-12-26 14:48:58
    1. 利用Vim中的命令: :set fileformat=unix :w 2. 利用工具dos2unix:
  • windows换行符转换为unix换行符的一点小问题。
  •  window/dos 下文件换行符为 0x0D ,0x0A   unix/linux 下文件换行符为 0x0A    0x0D == \r 0x0A == \n   因此 windows下编辑的文件,上传到unix/linux上时,可能会影响使用,如上传的是shell文件,可能...
  • VI 修改^M为unix换行符

    2014-01-10 11:27:00
    2019独角兽企业重金招聘Python工程师标准>>> ...
  • UNIX/Linux 使用的是 0x0A(LF),但 DOS/Windows 一直使用 0x0D0A(CRLF)作为换行符。 问题 需要把再Windows git下模式dos改为unix 。 方法命令 #在vim下面查看当前文本的模式类型,一般为dos,unix...
  • How can I programmatically (ie, not using vi ) convert DOS/Windows newlines to Unix? 如何以编程方式(即不使用vi
  • Java在Mac OS、Unix/Linux、Windows中文本文件的换行符: \n: Mac os下的文本文件换行符 \r: unix下的文本文件换行符 \r\n: windows下的文本文件换行符 昨天为这个问题纠结了许久,把文件读取到二维...
  • 换行符在Linux和Windows下的区别以及将Linux和windows下的文件的互转的Linux命令:unix2dos, dos2unix 一、区别 换行符: 1.windows中的换行符是\r\n, 2. linux/unix下的换行符是\n。 其
  • 转换Unix和Windows的换行符

    千次阅读 2011-02-10 09:53:00
    <br />由于Windows和Unix换行符有所不同。 因此在Windows下编辑的文件,在Unix 下都会出现奇怪的符号^M,平时在用文本打开时可能看不到。 <br />但是在diff 的时候,会发现看似相同的两行,也被...
  • (1)首先,要设置NotePad++能显示换行符,这个才能看到效果, 视图--》显示符号--》显示行尾符。 {2}设置行尾符格式:编辑--》档案格式转换--》(可选Windows、Unix、Mac中的一种)
  • 1.我们都知道,linux下行为LF,而windows系统下为CRLF。 及\n和\r\n的区别。 对于Windows下为何是”\r\n”,这里引用网上的解释:因为Windows采用了传统的英文打字机模式,它在换行时需分解成两步——回车”\r”...
  • Unix/Linux fork前传

    万次阅读 多人点赞 2019-09-09 08:15:00
    本文是《Linux fork那些隐藏的开销》的前传。fork的由来fork的思想在UNIX出现几年前就出现了,时间大概是1963年,这比UNIX在PDP-7上的第一个版本...
  • #提交检出均不转换(Window换行符unix换行符,不进行检出根据系统自动转换) git config --global core.autocrlf false #允许提交包含混合换行符的文件 git config --global core.safecrlf false 2 IDEA配置创建文本...
  • 在LINUX中应用程序读取一个...发现在linux/unix下的回车与windows下的不同,linux/unix下的回车是0d,而在windows下侧是0d0a,据说这和电脑刚开始发展时的电传打印机的速度有关,在网上搜到以下资料放到此处学习:...
  • \r是回车符,\n是换行符,系统不同,换行标志也各有差异: win 用 \r\n linux/unix 用 \n Mac OS 用 \r CR用符号'\r'表示, 十进制ASCII代码是13, 十六进制代码为OxOD LF使用'\n'符号表示, ASCII代码是10, 十六...
  • 去掉下方的“”比较终止的勾选 选择最下面的“用于父会话中的所有文件” 点确定。 关闭文件比较窗口,回到文件夹比较窗口。 点击 会话–>会话设置–>比较 比较内容,选择 “基于规则的比较”。 点确定...
  • dos2unix命令将dos文件转换为unix格式

    万次阅读 2016-11-03 18:45:09
    使用git 的时候碰到git将unix换行符转换为windows换行符的问题,需要使用dos2unix命令将文件转换为unix格式。dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)...
  • 打开菜单 Window - Preferences,左边选择 General - Workspace ,右边的 New text file line delimiter选择 Other ,然后在里面选择 Unix,点 Apply ,再点OK 关闭窗口,这样新建立的文件就是 Unix 格式了。
  • UNIX环境高级编程

    千次下载 热门讨论 2009-11-09 13:29:39
    UNIX环境高级编程》很好的一本书,整合成一个PDF文件,很清晰。 《UNIX环境高级编程》是 Unix/ Linux 程序员案头必备的一本书籍。可以说,Linux 程序员如果没有读过这本书,就好像基督教徒没有读过圣经一样,是很...
  • PS: 最好的解决方案是执行以下步骤:(比如,有一个 git 库叫做 mygitrepo) 1)增加 .gitattribute 文件 在mygitrepo 下建立一个 .gitattributes 文件,在其中输入   * text eol=lf  ...
  • unix2dos批量转换工具(双向) MS桌面版 前一版描述较不祥细,以至于很同朋友不知道可以选择多个文件拖放,故在此多啰嗦几句。 注明:1、窗口支持拖放,单文件或多文件同时拖放均可 2、新版本添加文件列表窗口中点...
  • 回车(CR)和换行(LF)都是用来表示“下一”的。而标准没有规定要使用哪一个。于是产生了三种不同的用法:Dos和windows采用回车+ 换行(CR+LG)表示下一(亦即所谓的PC格式,谁让MS最早雄踞PC市场呢,^_^),
  • window换行符\r\n 替换成linux 换行符

    万次阅读 2018-09-04 14:08:43
    sed -i 's/\r//' startup.sh window下默认是 \r\n linux下是\n unix下是\r win 10 禁用更新

空空如也

1 2 3 4 5 ... 20
收藏数 883,609
精华内容 353,443
关键字:

unix window 换行符