Aduh

Cara penggunaan untuk gelung dalam perintah awk

Cara penggunaan untuk gelung dalam perintah awk
Gelung digunakan untuk melaksanakan beberapa pernyataan berkali-kali. Iterasi gelung berdasarkan keadaan penamatan atau bilangan elemen array. Tiga jenis gelung disokong oleh sebarang bahasa pengaturcaraan. Untuk gelung adalah salah satu daripadanya. Untuk gelung boleh dinyatakan dengan dua cara. Simple for loop mengandungi tiga bahagian.  Dan satu lagi untuk gelung adalah gelung masuk yang digunakan untuk mengulangi senarai data atau array. Tutorial ini menunjukkan penggunaan kedua-dua jenis gelung ini dalam perintah awk dengan menggunakan pelbagai contoh.

Sintaks:

  1. untuk pengisytiharan gelung:
untuk (inisialisasi; keadaan penamatan; kenaikan / penurunan)
penyataan

Bahagian pertama digunakan untuk memulakan pemboleh ubah untuk memulakan untuk gelung. Bahagian kedua mengandungi keadaan penamatan untuk mengawal lelaran gelung dan gelung akan berterusan sehingga keadaan itu benar. Bahagian terakhir akan menambah atau mengurangkan pemboleh ubah inisialisasi berdasarkan bahagian pertama.

  1. pengisytiharan masuk
untuk (pemboleh ubah dalam susunan / senarai)
penyataan

untuk-dalam gelung digunakan untuk melakukan tugas-tugas di mana bilangan lelaran gelung tidak tetap. untuk-dalam gelung digunakan terutamanya untuk menguraikan susunan atau senarai data. Gelung membaca setiap data dari array atau senarai dan menyimpan nilai ke pemboleh ubah dalam setiap lelaran.

Contoh-1: Menggunakan mudah untuk gelung

Simple for loop digunakan dalam skrip berikut. Di sini, kaunter pemboleh ubah dimulakan dengan 10 dan gelung akan berakhir apabila nilai kaunter kurang daripada 5. Skrip akan mencetak kaunter nilai dari 10 hingga 5. Jalankan arahan dari terminal.

$ gema | awk 'untuk (pembilang = 10; pembilang> = 5; kaunter--)
cetak "Berjalan untuk", kaunter, "kali."," \ n "; '

Pengeluaran:

Output berikut akan muncul setelah melaksanakan perintah.

Contoh-2: Menggunakan gelung masuk untuk membaca tatasusunan

Array bernama Pelanggan dinyatakan dalam skrip berikut di mana pelanggan ID ditetapkan sebagai indeks tatasusunan dan pelanggan nama ditetapkan sebagai nilai tatasusunan. untuk-dalam gelung digunakan di sini untuk mengulangi setiap indeks dari array dan mencetak nama pelanggan. Jalankan skrip dari terminal.

$ gema | awk 'BEGIN Pelanggan ["4587"] = "Neil Johnson";
Pelanggan ["8953"] = "Ella binte Nazir";
Pelanggan ["3455"] = "Bruce Hyslop";
Pelanggan ["6335"] = "Isabella";
 
TAMAT untuk (saya di Pelanggan)
cetak "Nama", i, "adalah", Pelanggan [i]
'

Pengeluaran:

Output berikut akan muncul setelah melaksanakan skrip.

Contoh-3: Menggunakan bersarang untuk gelung

Apabila gelung untuk dinyatakan di bawah satu lagi untuk gelung maka ia disebut bersarang untuk gelung. Gelung luar yang digunakan dalam skrip ini akan berulang selama 2 kali dan gelung dalam akan berulang selama 3 kali. Jadi, pernyataan cetak akan dilaksanakan sebanyak, (2X3 = 6) 6 kali. Jalankan skrip dari terminal.

$ gema | awk 'TAMAT untuk (i = 1; i<=2; i++)
untuk (j = 1; j<=3; j++)
cetak "Baris pengulangan", i, "dan lajur", j, "\ n"; '

Pengeluaran:

Output berikut akan muncul setelah menjalankan skrip.

Contoh-4: Menggunakan untuk gelung dengan pernyataan rehat

rehat pernyataan digunakan dalam mana-mana gelung untuk menghentikan gelung sebelum mencapai keadaan penamatan berdasarkan keadaan tertentu. Dalam skrip berikut, untuk gelung akan bermula dari 3 dan ia akan berakhir apabila nilai i lebih besar daripada 20. Tetapi apabila nilai i akan sama dengan pemboleh ubah bilangan maka keadaan if akan benar dan gelung akan berakhir untuk rehat penyataan.

$ gema | awk 'BEGIN num = 7; TAMAT untuk (i = 3; i<=20; i++)
jika (i == num) pecah;
yang lain
cetak "Nilai semasa i =", i, "\ n"; '

Pengeluaran:

Di sini, jika keadaan salah untuk empat lelaran apabila nilai i ialah 3,4,5 dan 6. Jadi, output berikut dicetak untuk empat lelaran.

Contoh-5: Menggunakan untuk gelung dengan penyataan terus

Pernyataan terus digunakan dalam sebarang gelung untuk menghilangkan pernyataan berdasarkan keadaan tertentu. Susunan dinamakan produk dinyatakan dalam skrip berikut. untuk-dalam gelung digunakan untuk mengulangi array dan memeriksa setiap nilai dengan “Perisian Pejabat". Sekiranya nilainya sepadan maka mesej yang tidak tersedia akan dicetak dengan menghilangkan mesej yang tersedia untuk penyataan lanjut, jika tidak, mesej yang tidak tersedia akan dicetak. Jalankan skrip dari terminal.

$ gema | awk 'BEGIN produk ["1001"] = "Antivirus";
produk ["1002"] = "Perisian Pejabat";
produk ["1003"] = "Perisian Melukis";
produk ["1004"] = "HDD";
produk ["1005"] = "DVD"; TAMAT untuk (i dalam produk)
jika (produk [i] == "Perisian Pejabat")
produk cetak [i], "tidak tersedia \ n";
teruskan;

produk cetak [i], "tersedia", "\ n"; '

Pengeluaran:

Output berikut akan muncul setelah menjalankan skrip.

Contoh-6: Menggunakan untuk gelung dalam fail awk

Buat fail teks bernama jualan.txt dan tambahkan kandungan berikut untuk mempraktikkan contoh ini.

jualan.txt

2015 70000
2016 80000
2017 83000
2018 86000
2019 90000

Buat fail awk bernama cal_sal.awk dengan skrip berikut untuk mengira jumlah penjualan fail jualan.txt. Medan kedua mengandungi jumlah penjualan tahunan dalam fail jualan.txt. Dalam skrip, penjualan array akan menyimpan semua nilai medan kedua dan jumlah pemboleh ubah dimulakan dengan 0 untuk menambahkan semua nilai jualan susunan. Seterusnya, untuk-dalam gelung digunakan untuk mengulangi setiap elemen penjualan susun atur dan tambah nilai dengan jumlah pemboleh ubah. Terakhir, pernyataan cetak digunakan untuk mencetak nilai jumlah pemboleh ubah untuk memaparkan jumlah penjualan.

cal_sal.awk


penjualan [i ++] = $ 2;
jumlah = 0;

TAMAT
untuk (i dalam jualan)

jumlah = jumlah + penjualan [i];

cetak "Jumlah jumlah jualan =" jumlah;

Jalankan arahan berikut untuk melaksanakan skrip cal_sal.fail awk.

$ awk -f cal_sal.penjualan awk.txt

Pengeluaran:

Terdapat 5 rekod di jualan.txt fail dan jumlah jumlah penjualan adalah 409000 yang dicetak setelah melaksanakan skrip.

Kesimpulan:

Perbezaan penggunaan perintah loop dalam awk cuba dijelaskan dalam tutorial ini. Harap, pembaca akan mendapat idea yang jelas tentang penggunaan loop dalam skrip awk dan dapat menggunakan loop dengan betul dalam pengaturcaraan awk.

Cara Menggunakan Mesin Cheat GameConqueror di Linux
Artikel ini merangkumi panduan mengenai penggunaan mesin cheat GameConqueror di Linux. Ramai pengguna yang bermain permainan di Windows sering menggun...
Emulator Konsol Permainan Terbaik untuk Linux
Artikel ini akan menyenaraikan perisian emulasi konsol permainan popular yang tersedia untuk Linux. Emulation adalah lapisan keserasian perisian yang ...
Distro Linux Terbaik untuk Permainan pada tahun 2021
Sistem operasi Linux telah jauh dari tampilan asal, ringkas dan berasaskan pelayan. OS ini telah berkembang pesat dalam beberapa tahun kebelakangan in...