Batasi jumlah garis yang ditampilkan pada satu waktu dengan menjalankan perintah

0

Saya punya beberapa perintah yang saya jalankan di terminal yang menampilkan semua yang mereka lakukan, yang bagus, tapi saya tidak perlu seluruh jendela saya diisi dengan ribuan baris input. Apakah ada cara untuk membuat hanya x jumlah baris terakhir yang ditampilkan, dan sisanya dihilangkan?

traisjames
sumber
Mengapa tidak membuat jendela lebih kecil? Tidakkah Anda semua ingin menggulir kembali ke pesan sebelumnya?
reinierpost
Saya hanya tertarik melihat bahwa itu masih bekerja pada sesuatu, tapi saya tidak perlu seluruh buffer sejarah diisi dengan pekerjaan itu
traisjames
Tetapi bagaimana bisa melihat itu menyakiti Anda?
reinierpost
@reinierpost Saya tidak mengerti apa yang Anda minta.
traisjames
Dibutuhkan upaya untuk menghapus garis lain - dibutuhkan hampir tidak ada upaya untuk mengabaikannya, jadi mengapa repot-repot
reinierpost

Jawaban:

0

Anda bisa menggunakan perintah tail. Ini akan mencantumkan hanya beberapa baris terakhir file, ditentukan oleh pengguna. Jika juga akan daftar hanya beberapa baris terakhir secara real time jika diinginkan. tail -n 5 akan mencetak 5 baris terakhir. Lakukan saja man tail untuk mendapatkan opsi lain.

jmh
sumber
0

Tanpa mengetahui perintah mana yang Anda lihat banyak output untuk saya dapat mengatakan bahwa Anda dapat membatasi jumlah baris yang dihasilkan pada terminal dengan perintah ekor dengan menggunakan "pipa" untuk mengirim output dari perintah 1 ke perintah 2. Contohnya adalah:

ls | tail -n 5  

Alih-alih mengirim output dari perintah ls ke layar, ia mengirimkan (atau mengirim pipa) ke perintah tail. Perintah tail di sini akan mencetak 5 baris terakhir dari output ls karena "-n 5" yang ditentukan.

Jeroen
sumber
Ini hanya akan menampilkan 5 baris terakhir . @traisjames ingin melihat semua dari lsgulungan output dengan dengan ukuran jendela 5.
reinierpost
0

Output konsol hanya baris yang ditulis satu per satu ke aliran output (output standar atau kesalahan standar). Jendela konsol dan aplikasi terminal hanya menampilkannya, menggulir yang sebelumnya ke atas. Mereka tidak dapat menghapus garis yang sudah dicetak. Anda perlu:

  1. Aplikasi konsol / terminal dengan kemampuan bawaan untuk menghilangkan semua kecuali n baris terakhir saat digambar ulang setelah menerima saluran baru; ini mungkin, tapi saya tidak tahu caranya.
  2. Aplikasi tambahan yang dapat melakukan ini, mulai dari konsol sebagai pembungkus untuk aplikasi Anda; screendan tmuxmungkin bisa melakukannya, tetapi saya tidak tahu caranya.
  3. Aplikasi yang dapat melakukan ini yang Anda pipakan konsol keluaran aplikasi Anda; multitailakan muat di sini, misalnya:

    find | env LINES=10 multitail -j
    

    akan menampilkan output find, tidak pernah menampilkan lebih dari 10 baris sekaligus.

Anda belum menyatakan OS yang Anda gunakan, tetapi multitailtersedia untuk Linux, misalnya sebagai paket Ubuntu.

reinierpost
sumber