Bii o ṣe le Lo Awọn ifọrọhan Apo pẹlu Awk ni Lainos - Apá 5
Ni gbogbo igba, a ti n wo awọn ọrọ ti o rọrun nigbati o n ṣayẹwo boya ipo kan ti pade tabi rara. Kini ti o ba fẹ lo diẹ sii lẹhinna ọkan ikosile lati ṣayẹwo fun ipo kan pato ninu?
Ninu àpilẹkọ yii, a yoo wo bawo ni o ṣe le ṣopọpọ awọn ọrọ pupọ ti a tọka si bi awọn ifihan idapọ lati ṣayẹwo ipo kan nigba sisẹ ọrọ tabi awọn okun.
Ni Awk, awọn itumọ ọrọ ti wa ni itumọ ti lilo &&
tọka si bi (ati)
ati ||
tọka si bi (tabi)
awọn oniṣẹ apopọ.
Itumọ gbogbogbo fun awọn itumọ ọrọ ni:
( first_expression ) && ( second_expression )
Nibi, first_expression
ati second_expression
gbọdọ jẹ otitọ lati jẹ ki gbogbo ikosile jẹ otitọ.
( first_expression ) || ( second_expression)
Nibi, ọkan ninu awọn ọrọ boya first_expression
tabi second_expression
gbọdọ jẹ otitọ fun gbogbo ikasi lati jẹ otitọ.
Išọra: Ranti lati ni akọmọ nigbagbogbo.
Awọn ifihan le ṣee kọ nipa lilo awọn oniṣẹ afiwera ti a wo ni Apakan 4 ti jara awk.
Jẹ ki a ni oye bayi nipa lilo apẹẹrẹ ni isalẹ:
Ninu apẹẹrẹ yii, a ni faili ọrọ kan ti a npè ni tecmint_deals.txt
, eyiti o ni atokọ ti diẹ ninu awọn iṣowo Tecmint laileto, o pẹlu orukọ adehun naa, idiyele ati iru.
No Name Price Type 1 Mac_OS_X_Cleanup_Suite $9.99 Software 2 Basics_Notebook $14.99 Lifestyle 3 Tactical_Pen $25.99 Lifestyle 4 Scapple $19.00 Unknown 5 Nano_Tool_Pack $11.99 Unknown 6 Ditto_Bluetooth_Altering_Device $33.00 Tech 7 Nano_Prowler_Mini_Drone $36.99 Tech
Sọ pe a fẹ nikan tẹjade ati awọn adehun asia ti o wa loke $20 ati ti iru\"Tech" nipa lilo ami (**)
ni ipari ila kọọkan.
A yoo nilo lati ṣiṣe aṣẹ ni isalẹ.
# awk '($3 ~ /^$[2-9][0-9]*\.[0-9][0-9]$/) && ($4=="Tech") { printf "%s\t%s\n",$0,"*"; } ' tecmint_deals.txt 6 Ditto_Bluetooth_Altering_Device $33.00 Tech * 7 Nano_Prowler_Mini_Drone $36.99 Tech *
Ninu apẹẹrẹ yii, a ti lo awọn ọrọ meji ni ikasi apapọ:
- Ifihan akọkọ, ($3 ~/^$$~/$~ 2-9] [0-9] $.. ṣayẹwo awọn fun awọn ila pẹlu awọn iṣowo pẹlu idiyele loke $20, ati pe o jẹ otitọ nikan ti iye ti $3 eyiti o jẹ idiyele baamu apẹẹrẹ/[0-9] $/
- Ati ikosile keji, ($4 == "Tech"); ṣayẹwo boya adehun naa jẹ ti iru\"Tech" ati pe o jẹ otitọ nikan ti iye ti $4 ba dọgba si\"Tech".
Ranti, laini kan yoo ṣe ifihan nikan pẹlu (**)
, ti iṣafihan akọkọ ati ikosile keji jẹ otitọ bi awọn ipinlẹ ipilẹ ti oniṣẹ &&
nikan.
Akopọ
Diẹ ninu awọn ipo nigbagbogbo nilo awọn itumọ ile iṣọpọ fun ọ lati baamu gangan ohun ti o fẹ. Nigbati o ba loye lilo lafiwe ati awọn oniṣẹ iṣalaye apapọ lẹhinna, sisẹ ọrọ tabi awọn okun ti o da lori diẹ ninu awọn ipo iṣoro yoo di irọrun.
Ireti pe o rii itọsọna yii wulo ati fun eyikeyi awọn ibeere tabi awọn afikun, nigbagbogbo ranti lati fi ọrọ silẹ ati pe ibakcdun rẹ yoo yanju ni ibamu.