Setiap kali beberapa perintah menghasilkan garis panjang sebagai output (misalnya, ketika ls -l
folder yang berisi file dengan nama panjang), garis panjang dibungkus dengan baris berikutnya, sehingga mengacaukan struktur kolom.
Apakah ada cara untuk menghindari ini? Sesuatu yang mirip dengan opsi vim 'nowrap'?
memperbarui
Saya perhatikan ada masalah dengan jawaban yang diterima:
jika saya membuat alias seperti: alias ll="tput rmam; ls -l; tput smam"
dan kemudian mencoba untuk grep outputnya: ll | grep foo
ia masih akan mencetak semua file, seperti tanpa grep.
Solusi yang saya temukan adalah menempatkan tanda kurung di seluruh alias:
alias ll="(tput rmam; ls -l; tput smam)"
command-line
bash
Mihai Rotaru
sumber
sumber
Jawaban:
Perhatikan bahwa ini tidak ada hubungannya dengan bash (setelah Anda meluncurkan perintah, bash hanya menunggu sampai selesai) dan semuanya harus dilakukan dengan terminal.
Kebanyakan emulator terminal membungkus di margin kanan secara default. Tetapi ini dapat dimatikan dengan menggunakan urutan kontrol yang sesuai , jika emulator terminal mendukungnya; maka garis panjang hanya terpotong:
sumber
tput rmam; ls -l longname; tput smam
man 5 terminfo
di Linux).Jika Anda ingin dapat melakukan pengguliran horizontal alih-alih memotong garis, gunakan
less -S
.sumber
Anda dapat menggunakan fungsi seperti ini:
perlu diingat meskipun Anda harus awalan perintah dengan
nowrap
atau apa pun nama Anda fungsi.sumber
Anda dapat mengganti fungsi sehingga secara otomatis berjalan
tput rmam
sebelum grep Anda dantput smam
setelah:Jatuhkan itu di Anda
.bash_profile
dan setiap kali Anda berlarigrep
, itu akan grep tanpa garis pembungkus.Ini telah banyak diedit, permintaan maaf kepada komentator.
sumber
sleep 20
biasa :-)pipa itu ke perintah kurang dengan -S switch:
Kemudian Anda dapat menggunakan panah atas / bawah / kiri / kanan untuk menggulir dan mengetik q untuk berhenti.
sumber
Coba ini
sumber