Cara menampilkan nomor baris dalam 'kurang' (GNU)

660

Apa perintah untuk membuat lebih sedikit nomor baris tampilan di kolom kiri?

Alex S.
sumber
80
lessadalah utilitas baris perintah linux, dan sangat umum digunakan oleh programmer untuk melihat file teks. Pertanyaan ini solid pada topik untuk Stack Overflow di bawah domain "alat yang digunakan oleh pemrogram" seperti semua pertanyaan yang berkaitan dengan penggunaan gitadalah pada topik. Ini juga merupakan hit pertama di Google ketika mencari "nomor baris kurang tayang." Pertanyaan ini seharusnya tidak ditutup.
John Dibling
5
@JohnDibling Pertanyaannya lebih sesuai untuk Unix & Linux Stack Exchange . Hanya karena lessdigunakan oleh pemrogram tidak membuatnya pada topik. Pensil juga "alat yang digunakan oleh pemrogram" tetapi sebuah pertanyaan tentang bagaimana cara mengasah pensil tidak akan sesuai di sini.
augurar
17
@augurar Saya pikir Anda DO tahu bahwa alat di sini berarti perangkat lunak . Anda sengaja menafsirkan makna alat di luar konteks. Ngomong-ngomong, saya pikir juga bahwa pertanyaan ini sesuai untuk Unix & Linux Stack Exchange, tetapi itu tidak mencegah pertanyaan ini ada di sini di SO :)
Gab 是 好人

Jawaban:

979

Dari manual :

-N atau --LINE-NUMBERS Menyebabkan nomor baris ditampilkan pada awal setiap baris pada tampilan.

Anda juga dapat mengganti nomor baris tanpa berhenti sedikit dengan mengetik -N.

Dimungkinkan untuk beralih opsi opsi perintah yang kurang ini dengan cara ini.

secara langsung
sumber
6
Ketika saya kurang file besar kemudian "G" ke bawah, ia mengatakan "Menghitung nomor baris ... (interupsi untuk membatalkan)" meskipun tidak menampilkan nomor baris. Saya ingin tahu bagaimana cara mengetahui jalur apa yang sedang saya jalani tanpa keluar dan meluncurkan kembali dengan -N. Saya menderita hukuman. Di mana hadiahnya?
Bruno Bronosky
93
wow, saya telah melihat bantuan untuk puluhan kali berharap untuk menemukan jawaban untuk ini. Saya selalu mengabaikan "- <flag> Alihkan opsi baris perintah [lihat OPSI di bawah ini]." ... yang berarti Anda dapat mengetik "-N" dari dalam kurang. Saya telah terganggu oleh hal ini selama sekitar satu dekade. Waktu yang baik!
Bruno Bronosky
2
apakah mungkin untuk menampilkan nomor baris dalam warna yang berbeda?
greg
3
Hai @greg Anda dapat menggunakan seduntuk mewarnai nomor garis dan opsi -Runtuk membiarkan lesswarna tampilan: cat -n file.txt | sed 's/^[ 0-9]*[0-9]/\o033[34m&\o033[0m/' | less -R Anda juga dapat menyesuaikan LESSOPEN... Ceria;)
olibre
1
Tekan ENTER / KEMBALI jika Anda mencoba untuk beralih. Setelah mengetik -n atau -N saat menggunakan lebih sedikit, Anda mungkin perlu menekannya setelah itu untuk menerapkan perubahan. Bahkan dikatakan demikian di bagian bawah, tetapi otak saya tidak menghubungkan titik-titik karena saya berasumsi itu akan instan dan saya terus mengetik -N dan bertanya-tanya mengapa angka tidak pernah muncul.
abelito
146

Anda juga dapat menekan =saat lessterbuka untuk hanya menampilkan informasi (di bagian bawah layar) tentang layar saat ini, termasuk nomor baris, dengan format:

myfile.txt lines 20530-20585/1816468 byte 1098945/116097872 1%  (press RETURN)

Jadi di sini misalnya, layar saat ini menunjukkan garis 20530-20585, dan file memiliki total 1816468garis.

Daniel Hershcovich
sumber
44

Anda dapat memfilter file melalui cat -nsebelum mengirim ke less:

cat -n file.txt | less

Atau, jika versi Anda lessmendukungnya, -Nopsi:

less -N file.txt
Greg Hewgill
sumber
4
Versi manakah yang kurang Anda sadari yang tidak didukungnya?
Aaron Hall
Saya biasanya menggunakan nl daripada cat -n
ychaouche
32

Anda dapat mengatur variabel lingkungan agar selalu memiliki opsi ini berlaku untuk semua file yang kurang:

export LESS='-RS#3NM~g'
sgargan
sumber
2
Baris alias less="LESS='-RS#3NM~g' less"di .bashrclakukan hari saya! Terima kasih!
Juri
4
Penjelasan tentang mantra ini akan sangat disambut :)
minexew
3
Opsinya adalah: R = penanganan kode warna mentah yang lebih baik dalam file. S = Gulir garis panjang dari layar, bukan bungkus kata. # 3 = gulir ke kanan / kiri dengan 3 posisi sekaligus. N = menunjukkan nomor baris. M = Permintaan lagi. ~ = Alih-alih menampilkan ruang kosong setelah file berakhir dengan ~, tidak menampilkan apa pun untuk ruang kosong. g = saat melakukan pencarian dengan 'g', hanya sorot kecocokan saat ini dan bukan semua kecocokan.
Bryan
17

Baris perintah menandai -Natau --LINE-NUMBERSmenyebabkan nomor baris ditampilkan di awal setiap baris pada layar.

Anda juga dapat mengganti nomor baris tanpa berhenti lessdengan mengetik -N<return>. Mungkin untuk beralih lessopsi opsi perintah apa pun dengan cara ini.

Matthew Jaskula
sumber
1
Lulus -N atau --LINE-NUMBERS hanya menunjukkan tanggal untuk saya di CentOS 5.3. Namun menggunakan -N setelah memulai kurang berfungsi dengan baik.
Mike Miller
15

Jika Anda menekan =dan berharap untuk melihat nomor baris, tetapi hanya melihat jumlah byte, maka nomor baris dimatikan. Tekan -nuntuk menyalakannya, dan pastikan $LESStidak termasuk 'n'.

Menonaktifkan nomor baris secara default (misalnya, pengaturan LESS=n) mempercepat pencarian dalam file yang sangat besar. Ini berguna jika Anda sering mencari melalui file besar, tetapi biasanya tidak peduli pada baris mana Anda berada.

Biasanya saya jalankan dengan LESS=RSXin(kode escape diaktifkan, garis panjang dipotong, jangan hapus layar saat keluar, abaikan case pada semua pencarian huruf kecil, dan tidak ada nomor baris yang dihitung secara default) dan hanya gunakan -natau -Sdari dalam lesssesuai kebutuhan.

Rob Flickenger
sumber