Bagaimana cara menggunakan `cat` untuk melihat bagian atas file yang sangat panjang?

18

Saya ingin tahu caranya

cat my-verylong-file

dan tunjukkan dari atas alih-alih dari ujung. Seperti perintah manusia .

IDK
sumber
5
Untuk kelengkapan, ada juga moreperintah ... tetapi karena morekurang mampu daripada less, sangat benar bahwa "lebih sedikit lebih banyak". Akhirnya ada juga pguntuk "halaman". Anda juga dapat menggunakan perintah ini dengan pipa - mis. ls -l | lessuntuk memecah daftar file yang sangat panjang menjadi beberapa halaman. Dan Anda bahkan bisa menggunakannya cat my-verylong-file | less.
Baard Kopperud
Juga patut ditunjukkan bahwa "Secara default, man menggunakan / usr / bin / less -is." (dari man man).
Digital Trauma

Jawaban:

43

Gunakan less, yang akan menampilkan file dari atas, memungkinkan Anda untuk menggulirnya, seperti man:

less my-verylong-file
  • Tekan quntuk keluar.

Jika Anda hanya tertarik melihat n baris pertama file, headdapat menjadi alternatif:

head -n 25 filename

akan menampilkan 25 baris pertama file.

Hal yang sama untuk n baris terakhir file dengan tail:

tail -n 25 filename
vidarlo
sumber
2
lessdapat digunakan juga untuk menggulir output perintah yang sangat panjang. Berikut disajikan contoh: ls -laR --color=always ~/ | less -R.
pa4080
2
Dan nama perintah "kurang" adalah permainan kata pada nama perintah "lebih" (yang kurang lebih menggantikan) yang pada gilirannya dinamai dari prompt "--Lebih" yang diberikannya. Di bawah MacOS tampak bahwa lebih banyak biner yang sama dengan kurang sehingga metamorfosis selesai :)
Thorbjørn Ravn Andersen
5
Jadi, kurang lebih hal yang sama?
Ryan The Leach
1
@ pa4080: Anda dapat mengaturnya lesssehingga -Rdiaktifkan secara default. Lihat jawaban saya.
Peter Cordes
@RyanTheLeach more dan less : hal yang sama :)
chepner
11

mandigunakan less(1)sebagai pager secara default. Gunakan itu sebagai ganti cat. Lihat juga jawaban @ vidarlo .

Cara menyesuaikan lessagar lebih baik:

Saya suka alias m=less, jadi itu hanya perintah satu huruf, karena saya mengetiknya sepanjang waktu. Menempatkan |mdi ujung apa pun pipa itu menjadi pager.

Anda dapat menempatkan opsi seperti -iMRj5Xdi alias (misalnya alias m='less -iMRX), tetapi saya melakukannya dengan ~/.lesskeyfile saya . (Lihat lesskey(1)).

  • -i: penelusuran tidak peka huruf besar-kecil (kecuali Anda menggunakan huruf kapital apa pun)
  • -M: baris status lebih panjang, menampilkan nomor baris dan persentase file
  • -R: izinkan beberapa kode kontrol melalui, sehingga Anda dapat menyalurkan perintah berwarna menjadi lebih sedikit.
  • -X: jangan beralih ke layar "pengganti" terminal emulator, jadi apa pun yang Anda lihat akan tetap ada saat Anda qkehabisan less. (bagus untuk halaman manual setelah Anda menemukan opsi yang Anda inginkan, dan ingin melihatnya saat mengetiknya.)
  • -j5: pencarian menempatkan garis target di baris 5 alih-alih bagian atas layar. Sehingga Anda dapat melihat konteks di kedua sisi hasil pencarian Anda. (Terkadang saya mengubah ini secara interaktif, dengan mengetik -j40atau sesuatu di dalamnya less, jika itu paling berguna untuk melihat konteks sebelum pencarian hit).

Saya juga mengikat .untuk next-file, dan ,untuk prev-file, karena binding default dua karakter terpisah yang jauh lebih lambat untuk mengetik: :ndan :p.


Ini milik saya .lesskey:

$ cat .lesskey
. next-file
, prev-file
#env
LESS = iMRj5X

Jalankan lesskeyuntuk "kompilasi" menjadi ~/.less.

Ini mungkin penting lebih dari 20 tahun yang lalu, tetapi lessmembaca file biner itu daripada mengurai file konfigurasi teks setiap kali dimulai.

Peter Cordes
sumber
@Dan: Menambahkan baris di bagian atas sehingga jawaban ini dapat berdiri sendiri sebagai jawaban atas pertanyaan. Saya pikir meninggalkan bagian itu secara implisit akan cukup memberikan jawaban yang lain, tetapi jika saya tidak keberatan untuk membuatnya eksplisit jika itu mengganggu Anda.
Peter Cordes