mzlogin / awesome-adb

ADB Usage Complete / ADB 用法大全
https://mazhuang.org/awesome-adb/
MIT License
11.28k stars 2.22k forks source link

screencap use sed Image error #78

Closed 15922660642 closed 3 years ago

15922660642 commented 3 years ago

在执行 adb shell screencap -p | sed "s/\r$//" > sc.png的时候保存的图片是一张错误的图片 通过截图到手机再导出发现了图片里的\n仍然翻译成了\r\n导致图片错误,想问一下楼主这个问题应该怎么处理

mzlogin commented 3 years ago

在执行 adb shell screencap -p | sed "s/\r$//" > sc.png的时候保存的图片是一张错误的图片 通过截图到手机再导出发现了图片里的\n仍然翻译成了\r\n导致图片错误,想问一下楼主这个问题应该怎么处理

操作系统、adb 版本可以发算来看看么?

  1. 试过 adb exec-out screencap -p > sc.png 没有呢?
  2. 你说的“通过截图到手机再导出”,这里具体用的命令发出来看一下
  3. 如果确定问题就是 \n\r\n 的问题,你可以在电脑上使用 sed 处理
15922660642 commented 3 years ago

我使用的window 10,android 9 华为nov3 1.使用adb exec-out screencap -p > sc.png可以得到正常的截图 2.使用截图到手机指的是adb shell screencap -p sdcard/screen.png && adb pull sdcard/screen.png C:\Users\hzjy\Desktop合并操作的方式 3.确定是\n和\r\n的问题,但是使用在使用sed的时候并没有处理到对应的地方去 这是通过adb shell screencap -p sdcard/screen.png && adb pull sdcard/screen.png C:\Users\hzjy\Desktop指令得到的正常图片 这是通过adb shell screencap -p | sed "s/\r$//" > sc.png得到的错误图片 在使用sed的添加了双引号,不然无法识别到sed操作指令 1603066285(1)

mzlogin commented 3 years ago

我使用的window 10,android 9 华为nov3 1.使用adb exec-out screencap -p > sc.png可以得到正常的截图 2.使用截图到手机指的是adb shell screencap -p sdcard/screen.png && adb pull sdcard/screen.png C:\Users\hzjy\Desktop合并操作的方式 3.确定是\n和\r\n的问题,但是使用在使用sed的时候并没有处理到对应的地方去 这是通过adb shell screencap -p sdcard/screen.png && adb pull sdcard/screen.png C:\Users\hzjy\Desktop指令得到的正常图片 这是通过adb shell screencap -p | sed "s/\r$//" > sc.png得到的错误图片 在使用sed的添加了双引号,不然无法识别到sed操作指令 1603066285(1)

今天梯子不正常,图片下不下来……看不到情况。那就不纠缠它了吧,就用第一条命令 😆

15922660642 commented 3 years ago

好吧,谢谢您的解答

mzlogin commented 3 years ago

image

我试了下,在 Mac 下用 gnu sed 处理成功啦……命令应该没问题,怀疑是与 Windows 下的 sed 的版本差异。