파일로 리디렉션될 때 CMD adb 쉘에서 추가 빈 줄을 제거합니다.

파일로 리디렉션될 때 CMD adb 쉘에서 추가 빈 줄을 제거합니다.

ADB.exe를 통해 MS-windows cmd를 사용하여 안드로이드 쉘 명령의 결과를 파일로 출력하고 있습니다.

올바른 결과가 출력되지만 각 결과 사이에 추가 줄이 표시됩니다. 대화형 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아닙니다 .-Tadb

이것은 Windows에만 해당되는 것이 아닙니다. Unix 시스템에서도 adb shell "ls -l" > test.log줄 끝에 바람직하지 않은 추가 캐리지 리턴이 있는 파일을 생성합니다.

관련 정보