저는 Unix script
명령을 사용하여 터미널에 출력되는 모든 것을 기록하고 이를 로그 파일에 넣습니다. 그런데 녹화된 파일을 보면 가비지 문자도 포함되어 있습니다.
그렇다면 정크 문자 없이 터미널 활동을 어떻게 기록할 수 있습니까?
출력 예:
파일을 dos로 변환하여 사용해 보았지만 파일 todos
을 건너뛰었습니다 .vim
dos2unix
dos2unix: Skipping binary file
답변1
이러한 문제를 쉽게 제거할 수 있는지 확실하지 않습니다. script
매뉴얼 페이지 에서 :
일부 대화형 명령(예: vi(1))은 TypeScript 파일에 가비지를 생성합니다. 스크립트는 화면을 조작하지 않는 명령에 가장 적합하며 결과는 하드 카피 터미널을 시뮬레이션하기 위한 것입니다.
위 출력은 터미널에서 컬러 출력을 생성하는 이스케이프 코드와 누군가 철자 실수를 수정한 후 백스페이스 키를 누른 것처럼 보이는 출력입니다.
열 사용
col
출력을 정리하기 위해 명령을 사용하는 SuperUser에서 이것을 찾았습니다 .
$ col -bp typescript | less -R
그래도 문제가 해결되지 않으면 다음 변형을 시도해 볼 수도 있습니다.
$ col -bp < typescript
명령줄 푸
나는이 솔루션을 찾았습니다명령줄 fu.comPerl과 col을 모두 사용합니다.
$ cat typescript | perl -pe 's/\e([^\[\]]|\[.*?[a-zA-Z]|\].*?\a)//g' \
| col -b > typescript-processed