Diberikan file log, saya biasanya akan melakukan sesuatu seperti ini:
grep 'marker-1234' filter_log
Apa perbedaan menggunakan '' atau "" atau tidak sama sekali dalam polanya?
Perintah grep di atas akan menghasilkan ribuan baris; apa yang saya inginkan. Di dalam baris-baris itu, Biasanya ada satu potong data yang saya cari. Terkadang, saya menggunakan awk untuk mencetak bidang yang saya cari. Dalam hal ini, format log berubah, saya tidak bisa bergantung pada posisi secara eksklusif, belum lagi, data log aktual dapat mendorong posisi ke depan.
Untuk membuat hal ini dapat dimengerti, katakanlah baris log berisi alamat IP, dan hanya itu yang saya cari, jadi saya nanti dapat memipkannya untuk mengurutkan dan unik dan mendapatkan beberapa hitungan penghitungan.
Contohnya mungkin:
2010-04-08 some logged data, indetermineate chars - [marker-1234] (123.123.123.123) from: foo@bar.example.com to bar@foo.example.com [stat-xyz9876]
Perintah grep pertama akan memberi saya ribuan baris seperti di atas, dari sana, saya ingin menyalurkannya ke sesuatu, mungkin sed
, yang dapat menarik pola di dalam, dan hanya mencetak pola.
Untuk contoh ini, cukup menggunakan alamat IP. Saya mencoba. Aku s sed
tidak dapat mengerti [0-9] {1,3}. sebagai sebuah pola? Saya harus [0-9] [0-9] [0-9]. yang menghasilkan hasil aneh sampai seluruh pola dibuat.
Ini tidak spesifik untuk alamat IP, polanya akan berubah, tapi saya bisa menggunakannya sebagai templat pembelajaran.
Terima kasih semua.