ADB.exe 経由で MS-Windows cmd を使用して、Android シェル コマンドの結果をファイルに出力しています。
正しい結果が出力されますが、各結果の間に余分な行が表示されます。対話型コマンドでは正常に見えますが (余分な行はありません)、ファイルに保存すると追加の行が表示されます。
ファイル出力を表示するために 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
行末に不要な余分な改行が含まれるファイルが作成されます。