awk

Cara menggunakan variabel dalam perintah awk

Cara menggunakan variabel dalam perintah awk
Variabel digunakan untuk menyimpan nilai sementara dalam bahasa pemrograman apa pun.  Mendefinisikan variabel dalam perintah awk mirip dengan bahasa skrip bash dan berfungsi seperti bash ketika variabel Shell digunakan dengan tanda kutip tunggal dan tanda kutip ganda. Perintah Awk memiliki banyak variabel bawaan untuk berbagai tujuan. Bagaimana variabel yang ditentukan pengguna, built-in dan shell dapat digunakan dalam perintah awk ditunjukkan dalam tutorial ini dengan menggunakan contoh yang berbeda.

Example -1: Mendefinisikan dan mencetak variabel

Perintah 'awk' menggunakan opsi '-v' untuk mendefinisikan variabel. Dalam contoh ini, myvar variabel didefinisikan dalam perintah 'awk' untuk menyimpan nilai, “variabel AWK” yang dicetak kemudian. Jalankan perintah berikut dari terminal untuk memeriksa output.

$ gema | awk -v myvar='AWK variabel' 'print myvar'

Keluaran:

Contoh - 2: Menggunakan variabel shell di awk dengan tanda kutip tunggal dan tanda kutip ganda

Contoh menunjukkan bagaimana variabel shell dapat digunakan perintah 'awk'. Di sini, variabel shell, myvar dideklarasikan dengan nilai, "Petunjuk Linux" di perintah pertama. Simbol '$' digunakan dengan nama variabel shell untuk membaca nilainya. Perintah kedua membaca variabel, $myval dengan tanda kutip tunggal(') dan perintah ketiga membaca variabel $myvar dengan tanda kutip ganda(“) dalam pernyataan 'awk'.

$ myvar="Petunjuk Linux"
$ gema | awk -v awkvar='$myvar' ' print awkvar; '
$ gema | awk -v awkvar="$myvar" ' print awkvar; '

Keluaran:

Ditunjukkan pada output bahwa nilai $myvar tidak dapat dibaca jika diapit dengan tanda kutip tunggal (') dan outputnya adalah $myvar. Nilai dari $myvar dicetak jika diapit dengan tanda kutip ganda (“).

Contoh - 3: Membaca variabel ARGC di awk

Variabel ARGC digunakan untuk menghitung jumlah total argumen baris perintah. Tiga variabel argumen baris perintah (t1, t2, t3) dilewatkan dalam skrip awk berikut:. Di sini, jumlah total argumen dengan skrip adalah 4. Jalankan skrip dari terminal.

$ awk 'BEGINprint "Total argument=",ARGC' t1 t2 t3

Keluaran:

Output berikut akan muncul setelah menjalankan skrip:.

Contoh - 4: Membaca konten file dengan variabel argumen

Buat file teks bernama pelanggan.txt dengan konten berikut untuk mempraktikkan contoh ini. Di sini, setiap bidang file dipisahkan oleh satu tab ruang.

pelanggan.txt

ID        Nama
103847    John Michael
209485    Watson
974732    Mira Hossain

Perintah Awk dapat membaca setiap bidang dari file teks apa pun dengan variabel argumen. Ada dua bidang di pelanggan.txt mengajukan. Ini adalah ID dan Nama. Skrip berikut akan mencetak dua bidang ini dengan variabel argumen, $1 dan $2 dengan memisahkan dua tab spasi. Jalankan skrip dari terminal.

$ pelanggan kucing.txt
$ pelanggan kucing.txt | awk ' print $1 "\t\t" $2;'

Keluaran:

Output berikut akan muncul setelah menjalankan perintah di atas.

Contoh- 5: Menggunakan variabel bawaan, FS dan opsi pemisah bidang dengan perintah awkwk

Variabel FS digunakan dalam perintah awk sebagai pemisah bidang. Spasi digunakan sebagai nilai default FS. Perintah berikut akan membaca file pelanggan.txt menggunakan spasi sebagai pemisah bidang dan mencetak konten file. Jalankan perintah dari terminal.

$ awk pelanggan FS.txt

Keluaran:

Output berikut akan muncul setelah menjalankan skrip:.

Perintah Awk dapat menggunakan karakter lain sebagai pemisah bidang dengan menggunakan opsi '-F'. Buat file teks bernama produk.txt dengan konten berikut di mana ':' digunakan sebagai pemisah bidang.

produk.txt

101:Kue:$30
102:Pensil: $5
103: Sabun: $3
104: Sampo: $10

Ada tiga bidang dalam file, produk.txt yang berisi id produk, nama dan harga. Perintah awk berikut hanya akan mencetak bidang kedua dari setiap baris. Jalankan perintah dari terminal.

$ produk kucing.txt
$ awk -F ':' ' print $2 ' produk.txt

Keluaran:

Di sini, perintah pertama mencetak konten produk.txt dan perintah kedua hanya mencetak bidang kedua dari file.

Contoh - 6: Menggunakan variabel bawaan, NR dengan perintah awk

Variabel NR digunakan dalam perintah awk untuk menghitung jumlah total catatan atau baris file. Buat file teks bernama siswa.txt untuk menguji fungsi variabel ini.

siswa.txt

Nama      Batch     Semester
John      20        3
Mira      22       1
Ella      18
Charle    15        8

Skrip awk berikut akan mencetak tiga baris pertama dari produk.txt mengajukan. Di sini, kondisi ditambahkan dengan menggunakan variabel NRNR. Perintah akan mencetak baris-baris di mana nilai NR kurang dari 4. Jalankan skrip dari terminal.

Keluaran:

Output berikut akan muncul setelah menjalankan skrip:.

$ murid kucing.txt | awk 'NR < 4'

Contoh - 7: Menggunakan variabel bawaan, NF dengan perintah awk

Variabel NF digunakan dalam perintah awk untuk menghitung jumlah total bidang di setiap baris file. Skrip awk berikut diterapkan untuk file:, siswa.txt yang dibuat pada contoh sebelumnya. Script akan mencetak baris-baris itu dari siswa.txt file di mana total bidang kurang dari 3. Jalankan perintah dari terminal.

$ murid kucing.txt | awk 'NF < 3'

Keluaran:

Hanya ada satu baris dalam file di mana jumlah total bidang kurang dari 3 yang dicetak sebagai output as.

Contoh - 8: Menggunakan variabel bawaan, OFS dengan perintah awk

Variabel OFS digunakan dalam perintah awk untuk menambahkan pemisah bidang keluaran pada keluaran. produk.txt file digunakan dalam contoh ini untuk menunjukkan penggunaan variabel OFS. ':' digunakan sebagai pemisah bidang dalam produk.file txt. Skrip awk berikut menggunakan '->' sebagai nilai OFS dan, bidang kedua dan ketiga dari file akan dicetak dengan menambahkan pemisah ini. Jalankan perintah dari terminal.

$ produk kucing.txt
$ awk -F ':' 'BEGINOFS="->"; print $2,$3;' produk.txt

Keluaran:

Output berikut akan dicetak setelah menjalankan perintah.

Kesimpulan:

Penggunaan paling umum dari variabel awk coba dijelaskan dalam tutorial ini. Semoga pembaca dapat menggunakan variabel awk dengan baik dalam skrip setelah mempraktekkan tutorial ini.

Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Jika Anda suka bermain game di Linux dengan gamepad alih-alih sistem input keyboard dan mouse biasa, ada beberapa aplikasi yang berguna untuk Anda. Ba...
Alat Berguna untuk Gamer Linux
Jika Anda suka bermain game di Linux, kemungkinan besar Anda telah menggunakan aplikasi dan utilitas seperti Wine, Lutris, dan OBS Studio untuk mening...
Game Remaster HD untuk Linux yang Belum Pernah Rilis Linux Sebelumnya
Banyak pengembang dan penerbit game datang dengan remaster HD dari game lama untuk memperpanjang umur waralaba, harap penggemar meminta kompatibilitas...