Làm thế nào để ghi nội dung thiết bị đầu cuối vào một tập tin


13

Đây là tình huống của tôi: Tôi mở thiết bị đầu cuối và chạy chương trình hiển thị nguồn cấp dữ liệu trực tiếp trong thiết bị đầu cuối (văn bản) những gì thay đổi mỗi giây. Chỉ có thể sử dụng phím "Enter" trong khi chương trình này đang chạy (nó thoát khỏi chương trình đó). Vì vậy, bạn không thể gõ bất cứ điều gì khác vào giao diện điều khiển.

Tôi muốn viết nội dung đầu cuối đó vào một tệp, như sau mỗi giây.

Tôi phải làm nó như thế nào? Bằng cách mở giao diện điều khiển thứ 2 và sử dụng một số lệnh? Không thể làm cho nó hoạt động với lệnh setterm -dump.


1
Hừm, ứng dụng này là gì? Nếu bạn chưa kiểm tra kỹ, bạn nên đảm bảo rằng ứng dụng có tùy chọn lưu thông số ở đâu đó không.
Severo Raz

Đã kiểm tra mà. Nó không. Nếu không tôi sẽ không có vấn đề này. Chương trình là trực tiếp-F1, launchpad.net/live-f1
Gustav

Câu trả lời:


16

Bạn có thể dẫn đầu ra của bạn đến teechương trình ( mô tả ):

my_program ... | tee my_program.log

Điều này sẽ hiển thị thông số trên thiết bị đầu cuối, nhưng cũng ghi nó vào tệp my_program.log


Kết quả tương tự như với câu trả lời đầu tiên. : /
Gustav

1
Ảnh chụp màn hình bạn đăng có vẻ như có rất nhiều trình tự thoát thiết bị đầu cuối trong đó. Từ thông tin launchpad, nó sử dụng ncurses (tôi đã tải xuống nguồn với bzr branch lp:live-f1, sau đó đi tìm trong README). Bạn có thể chạy chương trình mà không có màu bằng cách đặt TERMthành dumb ( export TERM=dumb) không? Nguồn cũng có một TODOtập tin, lưu ý trong danh sách mong muốn để giữ một lịch sử của các trình điều khiển. Có lẽ bạn có thể liên hệ với các nhà phát triển để xem họ đang lên kế hoạch gì hoặc họ có cách nào để bạn lưu kết quả không.
steabert

12

Khi bạn đang thực hiện lệnh của mình từ thiết bị đầu cuối thay vì nhìn thấy đầu ra trên bàn điều khiển, bạn có thể chuyển hướng nó thẳng đến một tệp. Trong khi chương trình chạy, đầu ra của bạn sẽ được ghi vào tệp. Một ví dụ cho phép bạn muốn viết nội dung của thư mục của mình bằng lệnh ls vào một tệp có tên list.txt

ls > list.txt

Nhà >điều hành chuyển hướng đầu ra của bạn theo nhu cầu của bạn.


Thx, điều này hoạt động nhưng một phần. Nội dung phải là HTML, nhưng khi tôi mở tệp, nó sẽ giống như thế này (snip từ tệp): Vettel [21G (B [m [39; 49m. Tên chương trình là "live-f1". Live-f1> live_f1_dump. đăng nhập
Gustav

@Gustav bạn có nghĩa là trong giao diện điều khiển nó in html và trong tệp các dòng trên?
cởi trần

Đúng. Đây là những gì tôi nhận được khi chạy lệnh được đề xuất của bạn: upload.ee/image/1223166/ss_01.png . Mục tiêu của tôi là đưa các vị trí của trình điều khiển Công thức 1 từ nguồn cấp dữ liệu F1 trực tiếp vào một tệp. Tôi đã làm cho nó hoạt động vào năm ngoái bằng cách chạy chương trình live-F1 trong thiết bị đầu cuối thứ nhất, sau đó kích hoạt thiết bị đầu cuối thứ 2 và sử dụng một số lệnh đã chụp màn hình thiết bị đầu cuối thứ nhất và lưu nó vào một tệp (sao chép từ tệp năm ngoái: upload.ee/doad/1223347 /0b6545ce227661452c8/html.log ). Lệnh là một cái gì đó tương tự: tty "Con trỏ đầu cuối thứ nhất" "tên tệp". Có thể đó là thứ gì đó "tty" những gì tôi đã sử dụng cho điều đó.
Gustav

2

Hãy thử sử dụng scriptlệnh. Thật không may, nó đặt rất nhiều nhân vật điều khiển gobbledegook trong bảng điểm. Tuy nhiên, nếu bạn thấy liên kết này tại Trang web NCSSM CS, bạn sẽ tìm thấy một giải pháp không hoàn hảo nhưng khá tốt cho vấn đề này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.