Nonaktifkan pembungkus garis untuk keluaran di Terminal


69

Saya sering membaca keluaran di terminal yang terbungkus karena terlalu panjang. Karena tidak ada cara saya dapat memodifikasi hasil cetak, saya perlu membiarkan Terminal mengizinkan pengguliran horizontal.

Apakah ada modifikasi yang dapat saya lakukan pada Terminal OS X default untuk menonaktifkan pembungkus garis dan memungkinkan pengguliran horizontal ?

Atau Anda tahu alternatif lain yang bisa saya gunakan?


Pertanyaan lama, tetapi bagi saya sepertinya masih belum terselesaikan. Saya membutuhkan jawaban yang sama, karena bagi saya saya tidak dapat mengedit output misalnya GCC lebih lanjut: gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html Dengan -fmessage-length=0set flag , saya masih mendapatkan multi- garis peringatan / output kesalahan. dan saya tidak (untuk saat ini).
Michael Trouw

Jawaban:


51

Tput melakukan trik untuk saya:

tput rmam

menonaktifkan pembungkus baris.

tput smam

memungkinkan pembungkus garis.


13
+1 tetapi apakah ada cara untuk menambahkan pengguliran horizontal juga?
Erik Allik

Tombol panah berfungsi untuk saya untuk secara horizontal menuju layar berikutnya.
michid

7
Saya tidak melihat cara menggunakan tombol panah ... mereka tidak bekerja untuk saya. Solusi ini tampaknya hanya memotong garis dengan lebar jendela saat ini. Ketika saya membuat jendela lebih besar hanya ada ruang kosong di sebelah kanan garis yang saya tahu mengandung lebih banyak karakter. Namun, solusi ini berguna untuk tujuan saya karena saya menampilkan log dan informasi di paling kanan tidak penting saat ini.
Jason

2
penemuan yang bagus! menambahkan sendiri beberapa alias zsh yang berkesan: alias wrapon='tput rmam'&alias wrapoff='tput smam'
Chris J Allen

2
berbicara tentang perintah yang dikaburkan
Andy

7

Pipa output melalui 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.

Saya mencoba menjelaskan apa yang mungkin terjadi di sini , meskipun ini tidak akan menghasilkan cara untuk menggulir secara horizontal dengan scrollbar, seperti yang Anda inginkan.


6

iTerm 2 tampaknya juga tidak mendukung menonaktifkan pembungkus baris. Anda mungkin hanya menggunakan lebih sedikit atau memotong:

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

Jika Anda (seperti yang disarankan orang sebagai solusi, meskipun saya pikir Anda bertanya tentang output langsung) maka arahkan output ke file somename.log dan buka dengan Applications> Utilities> Log-Viewer (atau dari commandline as open somename.log).

Ini bukan di terminal tetapi saya menemukan penampil log ke yang paling cocok untuk menangani sejumlah besar output (mencari, menggulir, memfilter).


Saya pikir maksud Anda Console.app, bukan? Tidak ada Log Viewer.appdi Utilities. Namun, konsol juga membungkus, satu-satunya perbedaan adalah bahwa garis panjang dikontrak secara default. Anda harus mengkliknya untuk membaca semuanya - jadi, sayangnya ini tidak akan membantu.
gentmatt

0

Bergantung pada apa yang Anda coba untuk berhenti membungkusnya, Anda bisa menggunakan vim. Jadi luncurkan vim pada file dengan garis panjang, lalu ketik:

:se nowrap

1
Ini tidak akan membantu, karena saya tidak membaca file. Saya membaca informasi jaringan melalui lsof.
gentmatt

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.