重定向到檔案時,從 CMD adb shell 中刪除多餘的空白行

重定向到檔案時,從 CMD adb shell 中刪除多餘的空白行

我正在透過 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

答案1

嘗試

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也會建立一個在行末尾帶有不需要的額外回車符的檔案。

相關內容