Elimine líneas en blanco adicionales del CMD adb shell, cuando se redirija al archivo

Elimine líneas en blanco adicionales del CMD adb shell, cuando se redirija al archivo

Estoy enviando resultados de un comando de shell de Android a un archivo, con cmd de MS-Windows a través de ADB.exe.

Genera los resultados correctos, pero aparece una línea adicional entre cada resultado. Parece normal en cmd interactivo (sin líneas adicionales), pero cuando se guarda en un archivo, aparecen líneas adicionales.

Estoy usando Notepad++ para ver el resultado del archivo. Al ver todos los símbolos, muestra un CR (retorno de carro) al final de cada línea impresa y un CR LF para cada línea en blanco.

¿Es posible enviar los resultados a un archivo sin líneas adicionales y, de ser así, qué podría estar causando esto?

De forma interactiva, salida directa al terminal

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

Redirigir al archivo

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

Respuesta1

Intentar

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

o, si se queja de que error: device only supports allocating a pty:

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

No todos los dispositivos admiten las opciones inspiradas en ssh -t, -Tincluso si su adbprograma cliente sí lo hace.

Esto no es específico de Windows: incluso en un sistema Unix, adb shell "ls -l" > test.logcreará un archivo con retornos de carro adicionales no deseados al final de las líneas.

información relacionada