Bii o ṣe le Lo Awọn oniṣẹ Ifiwera pẹlu Awk ni Lainos - Apá 4


Nigbati o ba n ba awọn nọmba tabi awọn iye okun pọ ni ila ọrọ kan, sisẹ ọrọ tabi awọn okun nipa lilo awọn oniṣẹ afiwe wa ni ọwọ fun awọn olumulo aṣẹ Awk.

Ni apakan yii ti jara Awk, a yoo wo bi o ṣe le ṣe àlẹmọ ọrọ tabi awọn okun nipa lilo awọn oniṣẹ afiwe. Ti o ba jẹ oluṣeto eto lẹhinna o gbọdọ ti mọ tẹlẹ pẹlu awọn oniṣẹ afiwe ṣugbọn awọn ti kii ṣe, jẹ ki n ṣalaye ni apakan ti o wa ni isalẹ.

Awọn oniṣẹ lafiwe ni Awk ni a lo lati ṣe afiwe iye awọn nọmba tabi awọn gbolohun ọrọ ati pe wọn pẹlu awọn atẹle:

  1. > - tobi ju
  2. lọ
  3. < - o kere ju
  4. > = - tobi ju tabi dogba si
  5. <= - kere si tabi dọgba si
  6. == - dọgba si
  7. ! = - ko dogba si
  8. some_value ~/pattern/ - otitọ ti o ba jẹ pe awọn ibaṣe deede kan apẹẹrẹ
  9. some_value! ~/pattern/ - otitọ ti o ba jẹ pe diẹ ninu iye kan ko baamu apẹẹrẹ

Ni bayi ti a ti wo ọpọlọpọ awọn oniṣẹ iṣiwe ni Awk, jẹ ki a ye wọn dara julọ nipa lilo apẹẹrẹ.

Ni apẹẹrẹ yii, a ni faili kan ti a npè ni food_list.txt eyiti o jẹ atokọ rira fun awọn oriṣiriṣi awọn ohun ounjẹ ati pe Emi yoo fẹ lati ta asia awọn ohun ounjẹ ti iye wọn kere ju tabi dọgba 20 nipa fifi (**) sii ni opin ila kọọkan.

No      Item_Name               Quantity        Price
1       Mangoes                    45           $3.45
2       Apples                     25           $2.45
3       Pineapples                 5            $4.45
4       Tomatoes                   25           $3.45
5       Onions                     15           $1.45
6       Bananas                    30           $3.45

Iṣeduro gbogbogbo fun lilo awọn oniṣẹ afiwe ni Awk ni:

# expression { actions; }

Lati ṣaṣeyọri ibi-afẹde ti o wa loke, Emi yoo ni lati ṣiṣe aṣẹ ni isalẹ:

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

No	Item_Name`		Quantity	Price
1	Mangoes	      		   45		$3.45
2	Apples			   25		$2.45	**
3	Pineapples		   5		$4.45	**
4	Tomatoes		   25		$3.45	**
5	Onions			   15           $1.45	**
6	Bananas			   30           $3.45	**

Ninu apẹẹrẹ ti o wa loke, awọn nkan pataki meji wa ti o ṣẹlẹ:

  1. Ifihan akọkọ {iṣẹ; } apapo, $3 <= 30 {printf “% s% s ”, $0,” ** ”; } tẹ jade awọn ila pẹlu opoiye ti o kere ju tabi dogba si 30 ati ṣafikun kan (**) ni opin ila kọọkan. Iye ti opoiye ti wọle nipa lilo iyipada aaye $3.
  2. Ifihan keji {iṣẹ; } apapo, $3> 30 {tẹjade $0;} tẹ jade awọn ila laini iyipada nitori iye wọn tobi ju lẹhinna 30.

Apẹẹrẹ diẹ sii:

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

No	Item_Name		Quantity	Price
1	Mangoes			   45		$3.45
2	Apples			   25		$2.45
3	Pineapples		   5		$4.45	TRUE
4	Tomatoes		   25		$3.45
5	Onions			   15           $1.45	TRUE
6       Bananas	                   30           $3.45

Ninu apẹẹrẹ yii, a fẹ ṣe afihan awọn ila pẹlu opoiye ti o kere si tabi dogba si 20 pẹlu ọrọ (TUEUETỌ) ni ipari.

Akopọ

Eyi jẹ itọnisọna iforo si awọn oniṣẹ afiwe ni Awk, nitorinaa o nilo lati gbiyanju ọpọlọpọ awọn aṣayan miiran ki o ṣe iwari diẹ sii.

Ni ọran ti eyikeyi awọn iṣoro ti o dojuko tabi eyikeyi awọn afikun ti o ni lokan, lẹhinna ju asọye silẹ ni abala ọrọ ni isalẹ. Ranti lati ka apakan ti o tẹle ti jara Awk nibiti emi yoo mu ọ nipasẹ awọn ifihan idapọ.


Gbogbo awọn Ẹtọ wa ni ipamọ. © Linux-Console.net • 2019-2024