• 去除adb传输中的^M


    学习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 ' '

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

     

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

  • 相关阅读:
    RUST实践.md
    redis.md
    opencvrust.md
    aws rds can't connect to mysql server on 'xx'
    Foundation ActionScript 3.0 With Flash CS3 And Flex
    Foundation Flash Applications for Mobile Devices
    Flash Mobile Developing Android and iOS Applications
    Flash Game Development by Example
    Actionscript 3.0 迁移指南
    在SWT中非UI线程控制界面
  • 原文地址:https://www.cnblogs.com/csj2018/p/9178872.html
Copyright © 2020-2023  润新知