Vô hiệu hóa gói dòng cho đầu ra trong Terminal


69

Tôi thường đọc các đầu ra trong thiết bị đầu cuối được bọc vì chúng quá dài. Vì không có cách nào để tôi có thể sửa đổi đầu ra được in, tôi cần để Terminal cho phép cuộn ngang.

Có một sửa đổi nào tôi có thể thực hiện đối với OS X Terminal mặc định để vô hiệu hóa ngắt dòng và cho phép cuộn ngang không?

Hoặc bạn có biết một cách khác tôi có thể sử dụng?


Câu hỏi cũ, nhưng dường như với tôi rằng nó vẫn chưa được giải quyết. Tôi cần câu trả lời tương tự, vì đối với tôi, tôi không thể chỉnh sửa thêm kết quả đầu ra của ví dụ GCC: gcc.gnu.org/onlinesocs/gcc/L Language-Entep khu-Options.html Với bộ cờ -fmessage-length=0, tôi vẫn nhận được nhiều cảnh báo dòng / đầu ra lỗi. và tôi không (bây giờ).
Michael Trouw

Câu trả lời:


51

Tput đã lừa tôi:

tput rmam

vô hiệu hóa gói dây.

tput smam

cho phép gói dòng.


13
+1 nhưng có cách nào để thêm cuộn ngang không?
Erik Allik

Các phím mũi tên hoạt động để tôi đi theo chiều ngang sang màn hình tiếp theo.
michid

7
Tôi không thấy cách sử dụng các phím mũi tên ... chúng không hoạt động với tôi. Giải pháp này dường như chỉ cắt các đường theo chiều rộng của cửa sổ hiện tại. Khi tôi làm cho cửa sổ lớn hơn, chỉ có khoảng trống ở bên phải các dòng mà tôi biết có chứa nhiều ký tự hơn. Tuy nhiên, giải pháp này hữu ích cho mục đích của tôi vì tôi đang hiển thị nhật ký và thông tin ở phía bên phải là không quan trọng vào lúc này.
Jason

2
tìm thấy tốt đẹp đã thêm cho mình một vài bí danh zsh đáng nhớ: alias wrapon='tput rmam'&alias wrapoff='tput smam'
Chris J Allen

2
nói về các lệnh bị xáo trộn
Andy

7

Ống đầu ra thông qua less -S:

   -S or --chop-long-lines
          Causes lines longer than the screen width to be chopped (truncated)
          rather than wrapped.  That is, the portion of a long line that does
          not fit in the screen width is not shown.  The default is  to  wrap
          long lines; that is, display the remainder on the next line.

Tôi đã cố gắng giải thích những gì có thể xảy ra ở đây , mặc dù điều này sẽ không dẫn đến cách cuộn theo chiều ngang bằng thanh cuộn, như bạn muốn.


6

iTerm 2 dường như không hỗ trợ vô hiệu hóa dòng bọc. Bạn chỉ có thể sử dụng ít hơn hoặc cắt giảm:

less /var/log/system.log
expand /var/log/system.log | cut -c 1-$COLUMNS
less -s <<< "$(osascript -e 'tell app "Terminal" to contents of window 1')"

1

Nếu bạn (như những người khác đề xuất như một giải pháp, mặc dù tôi nghĩ rằng bạn đã hỏi về đầu ra trực tiếp) thì hãy chuyển hướng đầu ra sang tệp somename.log và mở nó bằng Ứng dụng> Tiện ích> Trình xem nhật ký (hoặc từ dòng lệnh như open somename.log).

Nó không ở trong thiết bị đầu cuối nhưng tôi thấy trình xem nhật ký phù hợp nhất để xử lý lượng đầu ra lớn (tìm kiếm, cuộn, lọc).


Tôi nghĩ bạn có nghĩa là Console.app, phải không? Không có Log Viewer.apptrong Tiện ích. Tuy nhiên, giao diện điều khiển cũng kết thúc tốt đẹp, sự khác biệt duy nhất là các dòng dài được ký hợp đồng theo mặc định. Bạn phải nhấp vào chúng để đọc mọi thứ - vì vậy, điều này sẽ không giúp ích gì.
gentmatt

0

Tùy thuộc vào những gì bạn đang cố gắng ngừng gói, bạn có thể sử dụng vim. Vì vậy, khởi chạy vim trên tệp với các dòng dài, sau đó gõ:

:se nowrap

1
Điều này sẽ không giúp ích gì, vì tôi không đọc các tập tin. Tôi đang đọc thông tin mạng qua lsof.
gentmatt

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.