Saat melihat konten file, saya ingin cat
file pendek secara otomatis tetapi less
yang melebihi ukuran layar. Saya bisa menggunakan sesuatu dengan wc -l
, tetapi apakah ada cara yang lebih baik yang mungkin juga mempertimbangkan ukuran jendela / jumlah garis saat ini yang tersedia?
12
git log
mana melakukan hal yang tepat ini. Anda tidak pernah tahu sebelumnya apa yang akan Anda dapatkan (apakah Anda harus memukulq
?).cat
untuk melihat file. Biasanya Anda hanya perlu menggunakancat
untuk mengirim konten file ke stdout sehingga dapat disalurkan ke proses lain. Alasan untuk tidak menggunakancat
untuk melihat adalah mengirimkan byte mentah ke terminal, yang dapat menyebabkan perintah terminal yang tidak diharapkan dieksekusi (misalnya, beberapa pengguna terjebak ketika sebuah file berisi byte yang tepat untuk menonaktifkan keyboard terminal) . Anda biasanya harus menggunakan pager likeless
atau editor, yang akan memformat karakter khusus untuk tampilan sehingga mereka tidak ditafsirkan oleh terminal.cat -v
sehingga ia lolos dari karakter khusus.cat
mungkin? yang mungkin merupakan solusi yang lebih baikcat -v
keluarJawaban:
Untuk memberi Anda rumus yang melibatkan
wc
pemeriksaan berbasis:Ada
$LINES
variabel shell yang juga bisa digunakan:Tetapi
$LINES
diperbarui hanya ketika di command prompt. Untuk memahami apa yang saya maksud, jalankan ini dan ubah ukuran jendela terminal selamasleep
:sumber
less
jika misalnya 2/3 dari layar digunakan olehcat
.Mungkin 'less -F file_to_read' adalah pilihannya: ia keluar lebih sedikit jika jendela cukup untuk menampilkan semua file, dan menunggu pager jika tidak demikian halnya
sumber
-X
opsi akan menghentikan pembukaan, jadi file pendek akan ditampilkan seperticat
halnya. Sayangnya dengan-X
layar tidak akan dihapus juga setelah menampilkan file yang panjang dan digulir.cat
dipanggil juga