AWK - Pengantar dan Tutorial

AWK - Pengantar dan Tutorial

Saat bekerja dengan Linux, salah satu alat paling kuat yang tersedia untuk pemrosesan teks adalah perintah AWK. Ini adalah alat baris perintah serbaguna yang dapat digunakan untuk berbagai tugas, termasuk pencarian, penyaringan, dan memanipulasi data teks.

Dalam artikel ini, kami akan membahas dasar -dasar AWK, termasuk sintaksnya, cara menggunakannya pada baris perintah, dan beberapa contoh dasar tentang bagaimana hal itu dapat digunakan untuk memproses data teks.

Apa itu AWK?

AWK adalah bahasa pemrograman yang dirancang untuk pemrosesan teks dan ekstraksi data. Ini dikembangkan di Bell Labs pada tahun 1970-an dan sekarang menjadi fitur standar dari sebagian besar sistem operasi berbasis UNIX, termasuk Linux.

AWK sangat berguna untuk memproses file teks, karena memungkinkan Anda untuk mencari, memfilter, dan memanipulasi data berdasarkan pola atau kondisi tertentu. Ini berfungsi dengan membaca data dari file atau input standar, menerapkan serangkaian aturan atau perintah ke data itu, dan kemudian mencetak hasilnya.

Sintaks AWK

Sintaks dasar dari perintah AWK adalah sebagai berikut:

File AWK 'Pattern action'
1File AWK 'Pattern action'

Di sini, pola menentukan kondisi yang harus dipenuhi untuk tindakan yang akan dilakukan, dan file menentukan file yang harus dioperasikan oleh perintah. Jika tidak ada file yang ditentukan, AWK akan membaca data dari input standar (i.e., keyboard).

Polanya dapat berupa ekspresi reguler atau berbagai nilai, dan tindakannya dapat berupa perintah awk yang valid, termasuk pernyataan cetak, variabel, dan loop.

Pernyataan AWK One-Liner

Salah satu hal hebat tentang AWK adalah dapat digunakan untuk menulis satu kalimat - perintah pendek dan kuat yang dapat dijalankan langsung dari baris perintah.

Berikut adalah beberapa contoh dari satu kalimat canggung yang dapat Anda gunakan untuk melakukan tugas pemrosesan teks umum:

  • Cetak kolom pertama file CSV:
    AWK -F "," 'print $ 1' file.CSV  
  • Cetak kolom tertentu dari file CSV:
    AWK -F "," 'print $ 1, $ 3' file.CSV  

    Perintah ini menggunakan opsi -f untuk menentukan bahwa file tersebut dipisahkan secara koma, dan kemudian mencetak kolom pertama dan ketiga dari file tersebut.

  • Hitung jumlah baris dalam file:
    file awk 'end print nr'.txt  
  • Cetak semua baris yang cocok dengan pola tertentu ::
    file awk '/ pola/ print'.txt  
  • Hitung jumlah kejadian suatu pola dalam suatu file:
    AWK '/ POLA/ count ++ end print count' file.txt  
  • Cetak baris terakhir file:
    file awk 'end print'.txt  
  • Cetak nilai rata -rata kolom dalam file:
    awk 'sum+= $ 2 end print sum/nr' file.txt  
  • Cetak rata -rata kolom kedua dalam file:
    awk 'sum += $ 2 end print sum/nr' file.txt  
  • Cetak garis dalam urutan terbalik:
    awk 'a [i ++] = $ 0 end for (j = i-1; j> = 0;) cetak file [j--]'.txt  
  • Cetak isi file:
    file awk 'print'.txt  

    Perintah ini hanya membaca konten file.txt dan cetak setiap baris ke layar.

  • Cari garis yang berisi pola tertentu:
    AWK '/ ERROR/ print' file.catatan  

    Perintah ini mencari baris yang berisi kata "kesalahan" dan mencetaknya ke layar.

Anda mungkin menyukai: Operasi Aritmatika AWK: Panduan Pemula untuk Metode Perhitungan Dasar

Canggung untuk administrasi sistem

Sekarang mari kita lihat beberapa contoh praktis tentang bagaimana AWK dapat digunakan untuk tugas administrasi sistem.

Parsing file log

File log adalah alat penting bagi administrator sistem untuk memantau kinerja sistem dan mendiagnosis masalah. Namun, mereka bisa sulit dibaca dan dianalisis, terutama ketika mengandung banyak data.

AWK dapat digunakan untuk menguraikan file log dan mengekstrak informasi yang relevan. Misalnya, perintah berikut akan mengekstrak semua alamat IP dari file log akses Apache:

AWK 'print $ 1' Access.catatan
1AWK 'print $ 1' Access.catatan

Perintah ini akan mencetak kolom pertama dari file log akses, yang berisi alamat IP klien.

Sumber Daya Sistem Pemantauan

AWK juga dapat digunakan untuk memantau sumber daya sistem, seperti CPU dan penggunaan memori. Misalnya, perintah berikut akan menampilkan 5 proses teratas yang mengonsumsi CPU terbanyak:

ps aux | awk 'cetak $ 2, $ 3, $ 11' | urutkan -k2rn | head -n5
1ps aux | awk 'cetak $ 2, $ 3, $ 11' | urutkan -k2rn | head -n5

Perintah ini akan menggunakan PS untuk mencantumkan semua proses berjalan, lalu gunakan AWK untuk mengekstrak ID proses, penggunaan CPU, dan nama proses. Perintah Sort digunakan untuk mengurutkan output berdasarkan penggunaan CPU, dan perintah head digunakan untuk hanya menampilkan 5 hasil teratas.

Menghasilkan laporan

Administrator sistem sering perlu menghasilkan laporan tentang berbagai aspek kinerja dan penggunaan sistem. AWK dapat digunakan untuk mengekstrak dan merangkum data dari file log, file sistem, dan sumber lainnya.

Misalnya, perintah berikut akan menghasilkan laporan tentang penggunaan disk semua sistem file yang dipasang:

df -h | awk 'cetak $ 1, $ 5'
1df -h | awk 'cetak $ 1, $ 5'

Perintah ini akan menggunakan DF untuk mencantumkan semua sistem file yang dipasang, kemudian menggunakan AWK untuk mengekstrak nama sistem file dan persentase ruang disk yang digunakan.

Memodifikasi file konfigurasi

File konfigurasi adalah bagian penting dari administrasi sistem, dan seringkali perlu dimodifikasi untuk mengoptimalkan kinerja sistem atau memperbaiki masalah. AWK dapat digunakan untuk memodifikasi file konfigurasi di tempat, tanpa perlu pengeditan manual.

Misalnya, perintah berikut akan menggantikan semua kemunculan "localhost" dengan "contoh.com ”di file konfigurasi Apache:

AWK 'gSub (/localhost/, "contoh.com "); print '/etc/apache2/apache2.conf> /tmp /apache2.conf
1AWK 'gSub (/localhost/, "contoh.com "); print '/etc/apache2/apache2.conf> /tmp /apache2.conf

Perintah ini akan menggunakan AWK untuk mencari string "LocalHost" di file konfigurasi Apache, dan menggantinya dengan "Contoh.com ". File konfigurasi yang dimodifikasi kemudian ditulis ke file sementara.

Kesimpulan

AWK adalah alat yang ampuh untuk pemrosesan teks dan ekstraksi data di Linux. Relatif mudah dipelajari dan memberikan berbagai kemampuan yang dapat digunakan untuk memanipulasi dan mengubah data teks.

Dalam artikel ini, kami membahas dasar -dasar AWK, termasuk sintaksnya, cara menggunakannya pada baris perintah, dan beberapa contoh dasar tentang bagaimana hal itu dapat digunakan untuk memproses data teks. Kami juga membahas satu kalimat yang canggung, yang merupakan perintah yang kuat yang dapat digunakan untuk melakukan tugas pemrosesan teks umum dengan usaha minimal.

Dengan pengetahuan ini, Anda dapat mulai menjelajahi fitur AWK yang lebih canggih, termasuk ekspresi, variabel, dan fungsi reguler. Dengan menguasai AWK, Anda bisa menjadi pengguna Linux yang lebih efisien dan efektif, mampu memproses sejumlah besar data teks dengan mudah.