2013-07-08 2 views
14

htop을 텍스트 파일 (예 : htop > text.txt)에 파이핑하려고 시도했지만 문자열이 서식 지정되어 텍스트가 깨졌습니다 (아래 참조). 인간이 읽을 수있는 출력을 더 좋게 만들 수있는 방법이 있습니까?사람이 읽을 수있는 파일로 htop 출력

^[7^[[?47h^[[1;30r^[[m^[[4l^[[?1h^[=^[[m^[[?1000h^[[m^[[m^[[H^[[2J^[[1B ^[[36m1 ^[[m^[[1m[^[[m^[[32m||||||||||^[[31m||||||||||^[[30m^[[1m               \ 
    22.2%^[[m]^[[m  ^[[36mTasks: ^[[1m159^[[m^[[36m total, ^[[32m^[[1m5^[[m^[[36m running^[[3;3H2 ^[[m^[[1m[^[[30m                    \ 
     0.0%^[[m]^[[m  ^[[36mLoad average: ^[[30m^[[1m1.11 ^[[m^[[m1.28 ^[[1m1.31 ^[[4;3H^[[m^[[36m3 ^[[m^[[1m[^[[m^[[32m||||||||||^[[30m^[[1m              \ 
        11.1%^[[m]^[[m  ^[[36mUptime: ^[[1m9 days, 22:04:51^[[5;3H^[[m^[[36m4 ^[[m^[[1m[^[[30m                      0.0\ 
%^[[m]^[[6;3H^[[m^[[36m5 ^[[m^[[1m[^[[m^[[31m||||||||||^[[30m^[[1m                   11.1%^[[m]^[[7;3H^[[m^[[36m6 ^[[m^[[1m[^[[30m   \ 

답변

41

htop 여기에 저자가 있습니다.

아니, 파일로 파이프 된 htop의 출력을 얻는 "좋은"방법은 없습니다. 대화 형 응용 프로그램이며 터미널 재 작성 루틴을 사용하여 인터페이스를 생성합니다 (따라서 vim을 텍스트 파일로 파이핑하는 것과 같은 방식으로 파이핑하면 유사한 결과가 나타납니다).

프로세스에 대한 정보를 텍스트 형식으로 가져 오려면 "ps"를 사용하십시오. 예를 들어, ps auxf > file.txt은 많은 정보를 쉽게 파싱합니다 (트리 서식을 원하지 않으면 ps aux - 자세한 옵션은 man ps 참조).

$htop | recode utf-8 > test.txt 

그런 고양이 파일을 당신이 잘되어야합니다 :

+3

감사합니다. 나는 프로세서 당 사용량을 찾기 위해 특별히 노력하고있다. htop은 그렇게 잘한다. 'ps'를 통해 이것을 접근 할 수있는 방법이 있습니까? – DilithiumMatrix

+3

고맙습니다.하지만 사람이 파일을 좀더 쓸모있게 만들려면이 파일을 사용하십시오. – themis

1

다음 UTF-8로 인코딩 먼저 레코딩을 설치합니다.

+1

은 해결 방법으로는 좋지만, 시도해 보았을 때 모든 프로세스 목록을 가져 오지 못하고 항상 하위 집합 만 표시했습니다. 정보를 얻는 신뢰할 수있는 방법. – fduff

9

나는 동일한 요구를 가지고 있으며 htop 대신 top을 사용하여 결국 플래그를 통해 배치 모드를 제공합니다.

-b : 배치 모드 동작 시작은 다른 프로그램이나 파일에 최고 출력을 전송하는 데 유용 할 수있는 '일괄 모드'에서 맨. 이 모드에서 top은 입력을 받아들이지 않고 '-n'명령 행 옵션으로 설정 한 반복 제한 또는 죽을 때까지 실행됩니다. 그래서 예를 들면

:이 htop를 사용하지 않는 경우이에도 도움이

top -b -n 1 

희망.

-2

여러 모니터가있는 경우 "내 바탕 화면을 기록하십시오"가 해당 영역을 캡처하는 동안 htop을 실행할 수 있습니다. 그것의 더 많은 비디오 및 검색 및 정렬하는 데 도움이되지 않을 수도 있지만 그것은 멋지고 예쁘게 보일 것입니다.

12

htop outputs ANSI escape code 색상을 사용하고 커서를 단말기 주위로 이동하십시오. ANSI를 HTML로 변환하는 데 사용할 수있는 훌륭한 명령 행 프로그램 aha이 있습니다.

우분투/데비안 설치

apt-get install aha 

HTML 파일로 저장 htop 출력

echo q | htop | aha --black --line-fix > htop.html 
+0

그냥 고마워요! – Shevchuk

+0

도 참조하십시오. http://www.pixelbeat.org/scripts/ansi2html.sh – pixelbeat

+0

ansi2html.sh를 사용하는 예제는 https://news.ycombinator.com/item?id=10323333을 참조하고 링크 된 기능 요청은 다음과 같습니다. htop에 -b 옵션을 추가하여 일괄 처리를 더 간단하게 만듭니다. – pixelbeat

1

또한 이전에 타이밍을 재 것이다 모드에서 htop을 실행하는 스크립트를 사용할 수 있습니다 나중에 재생할 파일. '아직 또 다른 일'과 '좋은 말'을 의미합니다.

script -t -a /var/tmp/script.htop.out 2> /var/tmp/script.htop.out.timings 
htop 

그런 다음 일반 텍스트

scriptreplay /var/tmp/script.htop.out.timings /var/tmp/script.htop.out 
2

이 명령 출력을 재생합니다. (그것은 ahahtml2text를 설치가 필요합니다.) 당신의 응답을

echo q | htop -C | aha --line-fix | html2text -width 999 | 
grep -v "F1Help\|xml version=" > file.txt 
+0

https://stackoverflow.com/a/30224271/230468과 어떻게 다른가요? – DilithiumMatrix

+0

@DilithiumMatrix 이것은 당신에게 깨끗한 텍스트 whitout 모든 HTML 태그 결과를 제공합니다. – k0fe

+0

@DilithiumMatrix 출력 명령을 잊어 버렸습니다. 지금 편집했습니다. 시도해 보았 니? 이것이 당신이 필요로하는 것입니까? :) – k0fe

관련 문제