当前位置: 代码迷 >> 综合 >> Windows与Linux之间的编码(换行符)转换 ( by quqi99)
  详细解决方案

Windows与Linux之间的编码(换行符)转换 ( by quqi99)

热度:6   发布时间:2023-12-13 09:55:52.0

Windows与Linux之间的编码(换行符)转换 ( by quqi99)


作者:张华 发表于:2009-11-19
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明。

 

由于windows平台的行结束行为/r/n,而linux平台下的行结束符为/n, windows对这个不敏感,而Linux挺敏感的,所以如果不处理好这个,往往同样的代码拿到Linux平台下就运行不了。

1)对于单个文件,在Linux平台下可执行dos2unix命令转换。对于多个文件,我写了个脚本:

    #!/bin/bash

    find . -name '*.*" | while read i

    do

       dos2unix ${i} ${i}

    done

    值得注意的是,对于solaris平台,由于其dos2unix命令有BUG,必须加参数: -437:D


    直接用  find file-path-type f-exec dos2unix{}\; 就行

  若没有dos2unix命令, 可用 perl -i -pne 's/\r\n/\n/g' aa.java 代替

如在aix中:

find/opt/ibm/ae -name '*' -type f -exec perl -i -pne 's/\r\n/\n/g' {} \;




2)对于多个文件,我目前是借助于SVN,在windows提交代码时设置SVN的一个属性 svn:eol-style=native即可,这样从linux上通过   SVN下载代码后就自动转码了

  相关解决方案