目录
Linux中文本文件去除回车换行
Linux中文本文件去除回车换行
背景
在windows中修改的文件上传至unix/linux中时,常常出现^M的字符,这种字符在windows中叫”LFCR“,asciis十进制字符分别为10和13,十六进制为0x0A和0x0D。这种字符在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=" " replace=" " 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/