shell 中怎样去除数据中^M 字符。 5

数据是通过curl发送请求,从响应头中取出来的。但是数据中有^M急啊,求大神解答!!!... 数据是通过curl 发送请求,从响应头中取出来的。但是数据中有^M
急啊,求大神解答!!!
展开
 我来答
寄崇壹5106
推荐于2017-07-26 · TA获得超过412个赞
知道小有建树答主
回答量:490
采纳率:40%
帮助的人:435万
展开全部

这个符号^M在Linux文本文件中能看出来,在Windows系统下看不出来,因为这是windows系统下的回车换行符号。

有2中方法可以去掉这个回车换行符号。

第一种是全文替换,第二中是先搜索字符串,然后用sed命令处理。


方法

用vim打开文件,输入以下命令

vi filename

然后在vi命令模式下输入以下内容:

:/^M//g

这里特别注意:注意^M符号的输入方法,先按住CTRL,再按下v和m


方法二:

打开一个terminal命令窗口,输入以下命令:

sed -i `s/^M/g`  filename

注意^M符号的输入方法,先按住CTRL,再按下v和m

这里推荐使用方法二,完成替换后,可以用less命令或者cat命令,查看更改后的文件。

刘_明_航
2013-07-24 · 超过26用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:77.6万
展开全部
这种问题运维中经常遇到,直接把^M替换就行了,但是直接敲^M去替换不会成功。^M应该用ctrl+v+m打,具体用1:$ s/ctrl+v+m/ /g,这样就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hwguan
2013-07-26 · TA获得超过1万个赞
知道大有可为答主
回答量:4405
采纳率:0%
帮助的人:4155万
展开全部
dos2unix myfile
或者用管道传给 doc2unix
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友60a71e595
2013-08-03 · TA获得超过1120个赞
知道答主
回答量:28
采纳率:0%
帮助的人:16.5万
展开全部
tr -d '^M' < textfile > newfile
这个应该可行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
maxnu
2013-07-24 · TA获得超过555个赞
知道小有建树答主
回答量:721
采纳率:50%
帮助的人:470万
展开全部
用vim打开 替换%s/\r*$//
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式