awk

10 Contoh Perintah Awk yang Luar Biasa

10 Contoh Perintah Awk yang Luar Biasa
Perintah Awk adalah alat yang ampuh untuk memproses data. Itu mendapat data input, memanipulasinya, dan memberikan hasil dalam output standar. Berbagai operasi dapat dilakukan pada baris dan kolom file.

Mengetahui esensi dari perintah "awk" sangat penting dalam hal memproses data secara efisien, dan posting ini mencakup fitur utama dari perintah "awk". Mari kita periksa sintaksnya terlebih dahulu:

$ awk [opsi] [file]

Beberapa opsi yang umum digunakan diberikan dalam tabel di bawah ini:

Pilihan Deskripsi
-F Untuk menentukan pemisah file
-f Tentukan file yang berisi skrip "awk"
-v Untuk menetapkan variabel

Mari kita lihat beberapa contoh tentang penggunaan perintah "awk", dan untuk demonstrasi, saya telah membuat file teks dengan nama file tes.txt:

1. Cara mencetak kolom file dengan perintah awk?

Perintah "awk" dapat digunakan untuk mendapatkan kolom tertentu dari file teks. Untuk mencetak konten file gunakan:

$cat testFile.txt

Sekarang, untuk mencetak kolom kedua file, gunakan:

$aw 'print $2' testFile.txt

Untuk mencetak lebih dari satu bidang, gunakan perintah:

$awk 'print $1,$2,$3' testFile.txt

Jika Anda tidak menggunakan koma "," maka hasilnya akan tanpa spasi:

$awk 'print $1$2$3' testFile.txt

2. Cara menggunakan ekspresi reguler dengan perintah awk:

Untuk mencocokkan string atau ekspresi apa pun, kami menggunakan garis miring “//,” misalnya, jika Anda ingin mencetak nama orang yang sedang mempelajari “Sejarah”, gunakan:

$awk '/History/ print $2' testFile.txt

Outputnya jelas menunjukkan bahwa hanya "Sam" dan "Tommy" yang mempelajari kursus "Sejarah".

3. Cara menggunakan ekspresi relasional dengan perintah "awk":

Untuk mencocokkan konten bidang tertentu, ekspresi relasional dapat digunakan. Untuk mencocokkan string atau ekspresi apa pun dengan bidang, tunjukkan bidang dan gunakan operator perbandingan "~" dengan pola seperti yang disajikan dalam perintah berikut:

$awk '$3 ~/is/ print $2' testFile.txt

Output di atas menampilkan setiap bidang di kolom 2 terhadap setiap bidang yang berisi "adalah" di kolom 3.

Dan untuk mendapatkan output kebalikan dari perintah di atas, gunakan "! ~” operator:

$aw '$3! ~/is/ print $2' testFile.txt

Sebagai perbandingan, kita juga dapat menggunakan operator seperti lebih besar dari ">" dan kurang dari "<” and equal “=” as well:

$awk '$4>70 print $2' testFile.txt

Output telah mencetak nama-nama orang yang mendapat nilai lebih dari 70.

4. Cara menggunakan pola rentang dengan perintah awk:

Rentang juga dapat digunakan untuk pencarian; cukup gunakan koma "," untuk memisahkan rentang seperti yang disajikan dalam perintah yang disebutkan di bawah ini:

$awk '/Joel/, /Marlene/ print $3' testFile.txt

Output menunjukkan subjek rentang dari "Joel" hingga "Marlene" dari kolom 2. Kita dapat menggunakan tanda sama dengan ganda “==” untuk menentukan rentang; lihat contoh di bawah ini:

$awk '$4 == 80, $4 == 90 print $0' testFile.txt

Output menampilkan nama-nama orang dari kolom 2 untuk rentang tanda “70 hingga 80” dari kolom 4.

5. Cara menggabungkan pola menggunakan operator logika:

Penggunaan operator logika seperti OR “||,” DAN “&&” memungkinkan Anda untuk menggabungkan pola untuk pencarian. Gunakan perintah berikut

$aw '$4>80 && $6>0.4 print $2' testFile.txt

Perintah di atas mencetak nama orang terhadap bidang keempat lebih signifikan dari 80 dan bidang keenam lebih besar dari 0.4. Dan hanya dua catatan yang memenuhi syarat.

6. Ekspresi khusus perintah awk:

Ada dua ekspresi khusus, “MULAI” dan “AKHIR”:

BEGIN: Untuk melakukan tindakan sebelum data diproses

AKHIR: Untuk melakukan tindakan setelah data diproses

$awk 'BEGIN print “Pemrosesan telah dimulai”; cetak $2; END print “Pemrosesan telah berakhir”' testFile.txt

7. Variabel bawaan yang berguna dari perintah awk:

Perintah awk memiliki berbagai variabel yang membantu dalam pemrosesan data:

Variabel Deskripsi
NF Ini memberikan jumlah bidang dalam data
NR Ini memberikan nomor rekor saat ini
NAMA FILE Menampilkan nama file yang sedang diproses
FS dan OFS Pemisah bidang dan pemisah bidang Output
RS dan oralit Memisahkan catatan dan Pemisah Catatan Keluaran

Sebagai contoh:

$awk 'ENDprint “Nama filenya adalah ” FILENAME “memiliki” NF “fields and” NR “records”' testFile.txt

Kami menggunakan "AKHIR", tetapi jika Anda menggunakan "MULAI", hasilnya akan memberikan 0 bidang dan 0 catatan.

8. Cara mengubah pemisah rekaman:

Pemisah default dalam catatan biasanya spasi; jika ada koma “,” atau titik “.” sebagai pemisah bidang Anda, lalu gunakan opsi “FS” bersama dengan pemisah.

Mari kita punya file lain di mana bidang data dipisahkan oleh titik dua koma “:”:

$cat testFile2.txt
$awk 'BEGIN FS= “:” print $2' testFile2.txt

Karena pemisah file adalah titik dua, tetapi perintah "awk" bahkan bermanfaat untuk file seperti ini, cukup gunakan opsi "FS".

"-F" juga dapat digunakan:

$awk -F “:” 'print $2' testFile2.txt

Pemisah rekaman default adalah "baris baru," dan untuk mengatur pemisah rekaman ke ":", gunakan:

$awk 'BEGIN RS = “:”print $1' testFile2.txt

9. Tindakan Awk:

Tindakan awk adalah program kecil yang dikelilingi oleh tanda kurung “” dan memiliki lebih dari satu pernyataan yang dipisahkan oleh titik koma“;”.

Pernyataan yang paling sering digunakan dengan perintah “awk” adalah pernyataan “cetak”. Misalnya, untuk mencetak teks dengan setiap catatan, gunakan string teks dalam tanda kutip:

$awk '“Ini adalah bidang,” file uji $2'.txt

Mari kita lakukan operasi penjumlahan sederhana menggunakan awk:

$awk 'jumlah += $4 END printf “%d\n”, jumlah' testFile.txt

10. Membuat program awk:

Mari kita mulai dengan pemrograman "awk", pemrograman yang diberikan di bawah ini hanya melakukan perkalian:

MULAI
saya=2
sementara (j<4)

print “Perkalian 2 dengan” j “ adalah ” i*j;
j++

Simpan program dengan nama “kode saya.awk” dan untuk menjalankannya, buka terminal dan ketik:

$awk -f myCode.awk

Kesimpulan:

Perintah "awk" adalah perintah yang berguna untuk memproses, memindai data file teks, seperti memisahkan bidang file tertentu; kami menggunakan perintah "awk". Itu membuatnya lebih mudah untuk mencari apa pun dalam bentuk atau pola apa pun dari file teks. Dalam panduan ini, kami memahami dasar-dasar perintah "awk" dan penggunaannya. Perintah "awk" memvalidasi data, menghasilkan laporan, dan bahkan mem-parsing file. Menggunakan perintah sederhana "awk" juga memungkinkan pengguna untuk menulis program kecil untuk memproses data dengan lebih efisien.

Tombol klik kiri mouse tidak berfungsi pada Windows 10
Jika Anda menggunakan mouse khusus dengan laptop, atau komputer desktop, tetapi but tombol klik kiri mouse tidak berfungsi pada Windows 10/8/7 untuk b...
Kursor melompat atau bergerak secara acak saat mengetik di Windows 10
Jika Anda menemukan bahwa kursor mouse Anda melompat atau bergerak sendiri, secara otomatis, acak saat mengetik di laptop atau komputer Windows, maka ...
Cara membalikkan arah gulir Mouse dan Touchpads di Windows 10
Mouse dan Panel sentuhs tidak hanya membuat komputasi menjadi mudah tetapi juga lebih efisien dan tidak memakan banyak waktu. Kami tidak dapat membaya...