web-dev-qa-db-ja.com

ファイルにリダイレクトされたときに、CMDadbシェルから余分な空白行を削除します

Android Shellコマンドの結果を、ADB.exe経由のMS-windowscmdでファイルに出力しています。

正しい結果が出力されますが、各結果の間に余分な行があります。インタラクティブ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

2
PadreD727

試してみてください

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

adbクライアントプログラムがサポートしている場合でも、すべてのデバイスがsshに触発された-tおよび-Tオプションをサポートしているわけではありません。

これはWindows固有ではありません。Unixシステムでも、adb Shell "ls -l" > test.logは、行末に望ましくない余分なキャリッジリターンを含むファイルを作成します。

1
Uncle Billy