Linux

重定向到文件時,從 CMD adb shell 中刪除多餘的空行

  • March 15, 2020

我通過 ADB.exe 使用 MS-windows cmd 將 android shell 命令的結果輸出到文件。

它輸出正確的結果,但我在每個結果之間多了一條線。它在互動式 cmd 中看起來很正常(沒有額外的行),但是當它保存到文件時,會顯示額外的行。

我正在使用 Notepad++ 查看文件輸出。查看所有符號時,在每個列印行的末尾顯示一個 CR(輸入),在每個空白行顯示一個 CR LF。

是否可以在沒有額外行的情況下將結果輸出到文件中,如果可以,可能是什麼原因造成的?

互動方式,直接輸出到終端

D:\>adb shell "ls -l"

drwxr-xr-x root     root              2009-12-31 19:00 acct
drwxrwx--x system   cache             2020-03-12 07:14 cache
lrwxrwxrwx root     root              1969-12-31 19:00 charger -> /sbin/healthd
dr-x------ root     root              2009-12-31 19:00 config

重定向到文件

D:\>adb shell "ls -l" > test.log

drwxr-xr-x root     root              2009-12-31 19:00 acct

drwxrwx--x system   cache             2020-03-12 07:14 cache

lrwxrwxrwx root     root              1969-12-31 19:00 charger -> /sbin/healthd

dr-x------ root     root              2009-12-31 19:00 config

嘗試

adb shell -T "ls -l" > test.log

或者,如果它抱怨error: device only supports allocating a pty

adb shell "ls -l >/data/local/tmp/list"; adb pull /data/local/tmp/list test.log

並非所有設備都支持 ssh 啟發-t-T選項,即使您的adb客戶端程序支持。

這不是特定於 Windows 的:即使在 Unix 系統上,adb shell "ls -l" > test.log也會在行尾創建一個帶有多餘輸入符的文件。

引用自:https://unix.stackexchange.com/questions/572999