Rumah > Tutorial sistem > LINUX > teks badan

Cara menggunakan operator perbandingan dalam awk

WBOY
Lepaskan: 2023-12-31 21:35:33
ke hadapan
1274 orang telah melayarinya

Bagi pengguna yang menggunakan arahan awk, apabila memproses nombor atau rentetan dalam baris teks, adalah sangat mudah untuk menggunakan operator perbandingan untuk menapis teks dan rentetan. Dalam bahagian berikut kami memperkenalkan pengendali perbandingan "awk".

Apakah pengendali perbandingan di awk?

Operator perbandingan dalam awk digunakan untuk membandingkan rentetan dan nilai angka, termasuk jenis berikut:

Fungsi Simbol

<

>=           Lebih besar daripada atau sama dengan

<=                                                                                                                                                                                                                                                                                             kurang daripada atau sama dengan

==          Sama dengan

!=         tidak sama dengan

some_value ~ / pattern/ Mengembalikan benar jika some_value sepadan dengan pattern pattern

some_value !~ / pattern/ Mengembalikan benar jika some_value tidak sepadan dengan corak pattern Sekarang mari kita biasakan diri dengan pelbagai operator perbandingan dalam awk melalui contoh.

Contoh 1, kami mempunyai fail bernama food_list.txt, yang mengandungi senarai pembelian makanan yang berbeza. Saya ingin menambah (**)

selepas barisan item yang kuantiti makanannya kurang daripada atau sama dengan 30

Fail – food_list.txt

Tiada Barang_Nama Kuantiti Harga

1 biji mangga 45 $3.45

2 biji epal 25 $2.45

3 nanas 5 $4.45

4 biji tomato 25 $3.45

5 Bawang 15 $1.45

6 Pisang 30 $3.45

Sintaks umum untuk menggunakan operator perbandingan dalam Awk adalah seperti berikut:

# ungkapan { tindakan }

Untuk mencapai tujuan tadi, laksanakan arahan berikut:

# awk '$3 <= 30 { printf "%s/t%s/n", $0,"**" ; } $3 > 30 { print $0 ;}' food_list.txt

Tiada Item_Nama` Kuantiti Harga

1 biji mangga 45 $3.45

2 biji epal 25 $2.45 **

3 biji nanas 5 $4.45 **

4 biji tomato 25 $3.45 **

5 Bawang 15 $1.45 **

6 Pisang 30 $3.45 **

Dalam contoh tadi, dua perkara penting berikut berlaku:

Dalam gabungan "ekspresi

{action;}" pertama, $3 <= 30 { printf "%s/t%s/n", $0,"**" } cetak nombor yang kurang daripada atau sama dengan 30 baris, dan tambah (**) pada penghujung. Kuantiti item diperoleh melalui pembolehubah medan $3. Dalam gabungan "expression {action;}" kedua, $3 > 30 { print $0 ;} akan mengeluarkan baris yang bilangannya kurang daripada atau sama dengan 30 seperti sedia ada. Contoh lain:

# awk '$3 <= 20 { printf "%s/t%s/n", $0,"TRUE" } $3 > 20 { print $0 ;} ' food_list.txt

Tiada Barang_Nama Kuantiti Harga

1 biji mangga 45 $3.45

2 Epal 25 $2.45

3 nanas 5 $4.45 BENAR

4 biji tomato 25 $3.45

5 Bawang 15 $1.45 BENAR

6 Pisang 30 $3.45

Dalam contoh ini, kami ingin menandakan baris dengan kiraan kurang daripada atau sama dengan 20 dengan menambah (BENAR) pada penghujung baris.

Ringkasan

Ini ialah panduan pengenalan kepada pengendali perbandingan di awk, jadi anda perlu mencuba pilihan lain dan menemui lebih banyak cara untuk menggunakannya.

Atas ialah kandungan terperinci Cara menggunakan operator perbandingan dalam awk. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:jb51.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!