GNU/Linux >> Belajar Linux >  >> Linux

Ambil 100 baris log terakhir

Lihat, skrip sed yang mencetak 100 baris terakhir dapat Anda temukan di dokumentasi untuk sed (https://www.gnu.org/software/sed/manual/sed.html#tail):

$ cat sed.cmd
1! {; H; g; }
1,100 !s/[^\n]*\n//
$p

$ sed -nf sed.cmd logfilename

Bagi saya ini jauh lebih sulit daripada skrip Anda

tail -n 100 logfilename

jauh lebih sederhana. Dan cukup efisien, tidak akan membaca semua file jika tidak diperlukan. Lihat jawaban saya dengan laporan strace untuk tail ./huge-file :https://unix.stackexchange.com/questions/102905/does-tail-read-the-whole-file/102910#102910


Anda cukup menggunakan perintah berikut:-

ekor -NUMBER_OF_LINES FILE_NAME

misalnya tail -100 test.log

  • akan mengambil 100 baris terakhir dari test.log

Dalam hal ini, jika Anda ingin keluaran di atas dalam file terpisah maka Anda dapat menyalurkan sebagai berikut:-

ekor -NUMBER_OF_LINES FILE_NAME> OUTPUT_FILE_NAME

misalnya tail -100 test.log > output.log

  • akan mengambil 100 baris terakhir dari test.log dan menyimpannya ke file baru output.log)

Anda dapat menggunakan perintah ekor sebagai berikut:

tail -100 <log file>   > newLogfile

Sekarang 100 baris terakhir akan hadir di newLogfile

EDIT:

Versi tail yang lebih baru seperti yang disebutkan oleh twalberg gunakan perintah:

tail -n 100 <log file>   > newLogfile

"tail" adalah perintah untuk menampilkan bagian terakhir dari sebuah file, menggunakan sakelar yang tersedia dengan tepat membantu kita mendapatkan keluaran yang lebih spesifik. sakelar yang paling sering saya gunakan adalah -n dan -f

SINOPSIS

ekor [-F | -f | -r] [-q] [-b nomor | -c nomor | -n nomor] [file ...]

Di sini

-n number :Lokasinya adalah garis bilangan.

-f :Opsi -f menyebabkan tail tidak berhenti ketika akhir file tercapai, melainkan menunggu data tambahan ditambahkan ke input. Opsi -f diabaikan jika input standar adalah pipa, tetapi tidak jika berupa FIFO.

Ambil log 100 baris terakhir

To get last static 100 lines  
     tail -n 100 <file path>

To get real time last 100 lines
     tail -f -n 100 <file path>

Linux
  1. Cetak file, lewati baris X pertama, di Bash

  2. Hapus dua baris terakhir dari file teks yang sangat besar secara efisien

  3. Bagaimana cara memotong file per baris?

  1. Menambahkan perilaku ekor di mana enter menambahkan baris kosong ke less

  2. Bagaimana cara mencetak baris terakhir dari file terkompresi gz di baris perintah?

  3. Menggunakan tail untuk mengikuti file tanpa menampilkan baris terbaru

  1. Bagaimana cara Menghapus baris 'n' Pertama/Terakhir dari output perintah di Shell?

  2. Jumlah Baris Dikeluarkan Oleh Ls?

  3. Terus pantau log dengan ekor yang sesekali diputar