博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
去除adb传输中的^M
阅读量:5368 次
发布时间:2019-06-15

本文共 663 字,大约阅读时间需要 2 分钟。

学习sed过程中,在文本中每行追加内容,发现使用adb会在行末追加一个看不到^M。

场景一:adb保存到文件 adb shell ps|head -n 10 > text.txt,使用sed进行追加

场景二:使用adb shell ps|head -n 10|sed 's/^.*$/&123' 进行追加

直接使用adb shell ps|head -n|less发现在行末同样出现^M字符。

场景三:进入adb shell,直接替换,正常。

可以判定是adb传输过程中在行末增加了^M。

参照https://blog.csdn.net/mengxianghn/article/details/52779196的5个方法,逐一尝试

方法1: vi编辑器命令行模式下::%s/^M//g,回车即可替换。然而但是在vi编辑器中,是看不到^M的。

执行命令  :%s/^M//g,提示如下信息。因此方法一不适用

 

方法2: vi编辑器命令行下  :set fileformat=unix ,追加成功

方法3: sed 's/^M//g' text.txt > text2.txt 方法三也不可用

方法4: tr -d '\r'

方法5: dos2unix filename 我的Mac不支持该命令

 

总结:对于adb传输中出现的行尾增加\r导致的^M问题,使用 :set fileformat=unix 和 tr -d '\r'可以解决。

 

转载于:https://www.cnblogs.com/csj2018/p/9178872.html

你可能感兴趣的文章
「NOIp2018」 游记
查看>>
Handler导致内存泄露分析
查看>>
nuxtjs中使用axios
查看>>
设计模式C++实现
查看>>
java 的PO、VO、TO、BO、DAO、POJO解释(转载)
查看>>
职业规划§面试篇(三)【转载】
查看>>
游戏服务器开发与I/O相关--五种IO模型及设计模式
查看>>
Asm Shader Reference --- Shader Model 3.0 part
查看>>
Lamda表达式
查看>>
html5的一些概述,比较有用的!
查看>>
selenium自动化-数据驱动1
查看>>
UML中的stereotype
查看>>
ArcGIS问题:如何定义坐标系
查看>>
linux下编译调试x264
查看>>
YUV图像格式进行的ALPHA BLEND操作
查看>>
C#获取周一、周日的日期 函数类
查看>>
IE不支持textarea的HTML5placeholder属性
查看>>
VMware vSphere6.0 服务器虚拟化部署安装图解(最全,最详细)-搭建的所有步骤
查看>>
js + php 读取、播放视频流 兼容firefox,chrome,ie,mac的safari,ios的safari,ios的微信浏览器(文件读取文件流篇) ...
查看>>
Delphi DBGrid类控件定位到某一行,并更改为选中状态。
查看>>