Update avaliable. Click RELOAD to update.
目录

Linux中文本文件去除回车换行


Linux中文本文件去除回车换行

背景

在windows中修改的文件上传至unix/linux中时,常常出现^M的字符,这种字符在windows中叫”LFCR“,asciis十进制字符分别为1013,十六进制为0x0A0x0D。这种字符在unix环境中常常导致如shell、xml等文件解析或者运行错误。

如何辨别

如何查看文件是否存在”^M“字符?

vi -b example.sh

如何修正

下面是4种方式删除”^M“字符

dos2unix工具

dos2unix example.sh

vi编辑器替换命令

:%s/^M//g

这里的”^M“字符并不是shift+6和字母M组成,是CTRL v + CTRL m组成

cat和tr命令

sed 's/^M//example.sh > example.sh.bak
mv example.sh.bak example.sh

这里的”^M“字符并不是shift+6和字母M组成,是CTRL v + CTRL m组成

使用ant工具

<target name="dos2unix" description="dos2unix">
    <replaceregexp  match="&#13;&#10;" replace="&#10;" flags="g" byline="false">
        <fileset dir="${basedir}">
            <include name="tools/*.sh" />
        </fileset>
    </replaceregexp>
</target>
版权所有,本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可。转载请注明出处:https://www.wangjun.dev//2015/08/text-ctrl-enter/

Related posts