AWK - Fitur Tingkat Lanjut

AWK - Fitur Tingkat Lanjut

AWK adalah alat pemrosesan dan manipulasi teks yang kuat yang menyediakan berbagai fitur canggih untuk pengguna yang berpengalaman. Beberapa fitur canggih yang paling berguna dari AWK termasuk ekspresi reguler, pernyataan bersyarat, array, fungsi, dan fungsi manipulasi string. Dengan fitur -fitur ini, AWK menyediakan toolset yang kuat dan fleksibel yang dapat digunakan untuk berbagai tugas, termasuk analisis file log, pemantauan sistem, ekstraksi dan transformasi data, dan pembuatan laporan.

Dalam artikel ini, kami akan mengeksplorasi beberapa fitur AWK yang paling berguna dan kuat untuk pengguna tingkat lanjut. Tutorial ini mencakup:

  1. Menggunakan ekspresi reguler di AWK
  2. Menggunakan pernyataan bersyarat
  3. Bekerja dengan Array di AWK
  4. Bekerja dengan fungsi di AWK
  5. Manipulasi string dengan canggung

Mari kita mulai artikelnya:

Ekspresi reguler

Salah satu fitur paling kuat dari AWK adalah dukungannya untuk ekspresi reguler. Ekspresi reguler adalah pola yang menggambarkan set string, dan dapat digunakan untuk mencocokkan, mencari, dan memanipulasi data teks.

Misalnya, perintah berikut akan mencetak semua baris yang berisi kata "kesalahan" dalam file log:

AWK '/ERROR/' LOGFILE.txt
1AWK '/ERROR/' LOGFILE.txt

Perintah ini akan menggunakan AWK untuk mencari file log untuk baris yang berisi kata "kesalahan", dan mencetak baris itu ke konsol.

Pernyataan bersyarat

AWK mendukung pernyataan bersyarat, yang memungkinkan Anda untuk menjalankan perintah yang berbeda berdasarkan nilai variabel atau ekspresi.

Misalnya, perintah berikut akan mencetak "bahkan" atau "ganjil" untuk setiap angka dalam file, tergantung pada apakah itu bahkan atau aneh:

awk 'if ($ 1 % 2 == 0) Cetak $ 1, "bahkan"; lain cetak $ 1, "ganjil" 'angka.txt
1awk 'if ($ 1 % 2 == 0) Cetak $ 1, "bahkan"; lain cetak $ 1, "ganjil" 'angka.txt

Perintah ini akan menggunakan AWK untuk memeriksa apakah setiap nomor dalam file bahkan atau ganjil, dan mencetak hasilnya ke konsol.

Array

AWK juga mendukung array, yang memungkinkan Anda untuk menyimpan dan memanipulasi set nilai atau struktur data.

Misalnya, perintah berikut akan menghitung jumlah kejadian setiap kata dalam file teks:

awk 'for (i = 1; i<=NF; i++) words[$i]++ END for (w in words) print w, words[w] ' textfile.txt
1awk 'for (i = 1; i<=NF; i++) words[$i]++ END for (w in words) print w, words[w] ' textfile.txt

Perintah ini akan menggunakan AWK untuk mengulangi setiap kata dalam file, dan menyimpan hitungan setiap kata dalam array. Hasil akhirnya dicetak ke konsol.

Fungsi

AWK mendukung fungsi yang ditentukan pengguna, yang memungkinkan Anda membuat kode yang dapat digunakan kembali untuk tugas umum.

Misalnya, perintah berikut akan menggunakan fungsi yang ditentukan pengguna untuk mengonversi suhu Fahrenheit menjadi Celcius:

fungsi awk 'f2c (f) return (f-32)*(5/9) print $ 1, f2c ($ 2)' suhu.txt
1fungsi awk 'f2c (f) return (f-32)*(5/9) print $ 1, f2c ($ 2)' suhu.txt

Perintah ini akan menggunakan AWK untuk membaca suhu di Fahrenheit dari file, dan mengubahnya menjadi Celcius menggunakan fungsi yang ditentukan pengguna.

Manipulasi string

AWK mendukung berbagai fungsi manipulasi string, yang memungkinkan Anda untuk memodifikasi, menggabungkan, dan membagi string.

Misalnya, perintah berikut akan membagi daftar nilai yang dipisahkan koma menjadi bidang terpisah:

AWK -F ', "Cetak $ 1, $ 2' Data.CSV
1AWK -F ',' 'Cetak $ 1, $ 2' Data.CSV

Perintah ini akan menggunakan AWK untuk membagi file yang dipisahkan koma menjadi bidang terpisah, dan mencetak dua bidang pertama ke konsol.

Kesimpulan

AWK menyediakan serangkaian fitur canggih untuk pengguna berpengalaman, termasuk ekspresi reguler, pernyataan bersyarat, array, fungsi, dan manipulasi string. Dengan menguasai fitur -fitur ini, Anda bisa menjadi ahli pemrosesan teks dan manipulasi yang lebih efisien dan efektif, dan menghemat waktu dan upaya dalam pekerjaan Anda.