2013-07-08 27 views
14

Tôi đã thử đường ống htop vào tệp văn bản (ví dụ: htop > text.txt) nhưng nó cho tôi văn bản bị cắt xén bằng cách định dạng chuỗi (xem bên dưới). Có cách nào để có được đầu ra dễ đọc hơn, dễ đọc hơn không?đầu ra htop vào tệp có thể đọc được của con người

^[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   \ 

Trả lời

41

tác giả ở đây.

Không, không có cách nào "đẹp" để có được đầu ra của đường ống được đưa vào tệp. Nó là một ứng dụng tương tác và sử dụng các thường trình vẽ lại đầu cuối để tạo ra giao diện của nó (do đó, đường ống nó có ý nghĩa nhiều như, ví dụ, đường ống vim vào một tệp văn bản - bạn sẽ nhận được kết quả tương tự).

Để nhận thông tin về quy trình của bạn ở định dạng văn bản, hãy sử dụng "ps". Ví dụ: ps auxf > file.txt giúp bạn dễ dàng phân tích cú pháp thông tin (hoặc ps aux nếu bạn không muốn định dạng cây - xem man ps để biết thêm tùy chọn).

+3

Cảm ơn phản hồi của bạn. Tôi đang cố gắng tìm cách sử dụng cho mỗi bộ xử lý --- mà htop thực hiện rất tốt. Có cách nào để truy cập thông qua 'ps'? – DilithiumMatrix

+3

thanx, nhưng người đàn ông thực hiện xuất một số tệp để làm cho mọi thứ dễ sử dụng hơn – themis

1

Install recode đầu tiên, sau đó mã hóa nó sang utf-8:

$htop | recode utf-8 > test.txt 

Sau đó mèo tập tin và bạn sẽ được tốt.

+1

có thể là giải pháp tốt, nhưng khi tôi đã thử nó, nó không lấy được tất cả danh sách quy trình và luôn hiển thị chỉ một tập hợp con, một cách đáng tin cậy để có được thông tin. – fduff

9

Tôi đã có nhu cầu tương tự và kết thúc bằng cách sử dụng top thay vì htop a là cung cấp chế độ hàng loạt qua cờ -b.

-b: Hoạt động chế độ hàng loạt Bắt đầu hàng đầu trong 'Chế độ hàng loạt', có thể hữu ích để gửi đầu ra từ đầu đến các chương trình khác hoặc tệp. Trong chế độ này, đầu sẽ không chấp nhận đầu vào và chạy cho đến khi giới hạn lặp mà bạn đã đặt với tùy chọn dòng lệnh '-n' hoặc cho đến khi bị giết.

Vì vậy, ví dụ:

top -b -n 1 

Hope this helps thậm chí nếu điều này không được sử dụng htop.

-2

Điều này nghe có vẻ thực sự đáng tiếc, tuy nhiên, nếu bạn có nhiều màn hình, bạn có thể chạy trên nền trong khi "ghi lại máy tính để bàn của tôi" đang chụp khu vực đó. Video của nó nhiều hơn và có thể không giúp tìm kiếm và phân loại nhưng nó trông đẹp và đẹp.

12

kết quả đầu ra htop ANSI escape code để sử dụng màu và di chuyển con trỏ xung quanh thiết bị đầu cuối. Có một chương trình dòng lệnh tuyệt vời aha có thể được sử dụng để chuyển đổi ANSI thành HTML.

Ubuntu/Debian cài đặt

apt-get install aha 

Lưu htop đầu ra dưới dạng file HTML

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

Chỉ cần hoàn hảo, cảm ơn! – Shevchuk

+0

Xem thêm http://www.pixelbeat.org/scripts/ansi2html.sh – pixelbeat

+0

Ví dụ bằng cách sử dụng ansi2html.sh xem https://news.ycombinator.com/item?id=10323333 và được liên kết có yêu cầu tính năng thêm tùy chọn -b vào htop để xử lý hàng loạt đơn giản hơn – pixelbeat

1

Bạn cũng có thể sử dụng kịch bản trước khi chạy htop trong một chế độ mà sẽ chuyển hướng timings đến một tệp để phát lại sau. Trong lĩnh vực của 'một công việc khác xung quanh' và 'tốt cho hiển thị và nói'.

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

Sau đó, để phát lại

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

Lệnh này ra văn bản đơn giản. (Yêu cầu cài đặt ahahtml2text.)

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

Điều này khác với https://stackoverflow.com/a/30224271/230468 như thế nào? – DilithiumMatrix

+0

@DilithiumMatrix Điều này mang lại cho bạn kết quả trong việc quét trắng văn bản rõ ràng bất kỳ thẻ html nào. – k0fe

+0

@DilithiumMatrix Quên thêm lệnh đầu ra. Đã chỉnh sửa ngay bây giờ. Bạn đã thử chưa? Đây là những gì bạn cần? :) – k0fe

Các vấn đề liên quan