Cara menggunakan operator perbandingan dengan AWK di Linux - Bagian 4

Cara menggunakan operator perbandingan dengan AWK di Linux - Bagian 4

Saat berhadapan dengan nilai numerik atau string dalam baris teks, memfilter teks atau string menggunakan operator perbandingan berguna untuk AWK Pengguna Perintah.

Di bagian seri AWK ini, kita akan melihat bagaimana Anda dapat memfilter teks atau string menggunakan operator perbandingan. Jika Anda seorang programmer maka Anda harus sudah terbiasa dengan operator perbandingan tetapi mereka yang tidak, izinkan saya menjelaskan di bagian di bawah ini.

Apa itu operator perbandingan di AWK?

Operator perbandingan dalam AWK digunakan untuk membandingkan nilai angka atau string dan mereka termasuk yang berikut:

  1. > - lebih besar dari
  2. < - kurang dari
  3. > = - lebih dari atau sama dengan
  4. <= - kurang dari atau sama dengan
  5. == - sama dengan
  6. != - tidak sama dengan
  7. Some_value ~ / pola / - Benar jika Some_Value cocok dengan pola
  8. Some_value !~ / pola / - Benar jika Some_Value tidak cocok dengan pola

Sekarang kita telah melihat berbagai operator perbandingan di AWK, mari kita pahami lebih baik menggunakan contoh.

Dalam contoh ini, kami memiliki file bernama food_list.txt yang merupakan daftar belanja untuk makanan yang berbeda dan saya ingin menandai makanan yang kuantitasnya kurang dari atau sama dengan 20 dengan menambahkan (**) Di akhir setiap baris.

File - food_list.txt
No Item_Name Harga Kuantitas 1 Mangga 45 $ 3.45 2 apel 25 $ 2.45 3 Nanas 5 $ 4.45 4 tomat 25 $ 3.45 5 bawang 15 $ 1.45 6 Pisang 30 $ 3.45 

Sintaks umum untuk menggunakan operator perbandingan di AWK adalah:

# ekspresi tindakan;  

Untuk mencapai tujuan di atas, saya harus menjalankan perintah di bawah ini:

# awk '$ 3 30 print $ 0;' food_list.txt No Item_Name 'Harga Kuantitas 1 Mangga 45 $ 3.45 2 apel 25 $ 2.45 ** 3 Nanas 5 $ 4.45 ** 4 Tomat 25 $ 3.45 ** 5 bawang 15 $ 1.45 ** 6 Pisang 30 $ 3.45 ** 

Dalam contoh di atas, ada dua hal penting yang terjadi:

  1. Ungkapan pertama tindakan ; kombinasi, $ 3 <= 30 printf "%s \ t%s \ n", $ 0, "**"; mencetak garis dengan kuantitas kurang dari atau sama dengan 30 dan menambahkan a (**) Di akhir setiap baris. Nilai kuantitas diakses menggunakan $ 3 variabel bidang.
  2. Ungkapan kedua tindakan ; kombinasi, $ 3> 30 cetak $ 0; mencetak garis yang tidak berubah karena kuantitasnya lebih besar 30.

Satu contoh lagi:

# awk '$ 3 20 print $ 0;' food_list.txt  No Item_Name Harga Kuantitas 1 Mangga 45 $ 3.45 2 apel 25 $ 2.45 3 Nanas 5 $ 4.45 true 4 tomat 25 $ 3.45 5 bawang 15 $ 1.45 True 6 Bananas 30 $ 3.45 

Dalam contoh ini, kami ingin menunjukkan garis dengan kuantitas kurang atau sama dengan 20 dengan kata itu (BENAR) pada akhirnya.

Ringkasan

Ini adalah tutorial pengantar untuk operator perbandingan AWK, Oleh karena itu Anda perlu mencoba banyak opsi lain dan menemukan lebih banyak.

Jika ada masalah yang Anda hadapi atau penambahan yang ada dalam pikiran Anda, kemudian berikan komentar di bagian komentar di bawah ini. Ingatlah untuk membaca bagian selanjutnya dari seri AWK di mana saya akan membawa Anda melalui ekspresi majemuk.