linux下文件内容多出^M的解决方法

昨天遇到一个问题,在配置文件中写的启动脚本,无论怎么调用都显示启动不成功,命令不正确

startup-shell=/.........../apache-tomcat-7.0.57/bin/catalina.sh run

把内容打印出来以后,发现后边结束部分,是“0xD,0xA”,也就是\r\n

原因是:

如果在Dos或Windows下使用编辑器编写一些文本文件,然后通过网络传送到Unix/Linux下使用vi打开,那么会看到一些^M符号. 因为Dos或Windows下的换行符是"\r\n",即对应的ASCII码十进制形式是: 13, 10. 而Unix/Linux下的换行符是"\n",即对应的ASCII码十进制形式是: 10. 因此,使用vi打开该文件所显示的特殊符号^M,其实其对应的ASCII码十进制形式是: 13 ; 对应的八进制形式搜索是 015; 对应的十六进制形式是 0x0D. 解决的方法很多,其中比较简单的一种是,在shell提示符下发出命令:tr -d "\015" < myfile.txt > myfile_new.txt那么可以把符号^M(即"\015")去掉,并另存为新文件myfile_new.txt.



用tr命令不能替换原文件,只能生成新文件

因此要用多个命令配合才能对文件过滤

cat   原文件| tr -d "^M" > 新文件

mv 新文件 原文件


或者:

sed 's/^M//原文件>新文件

mv 新文件 原文件




  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值