Po celou dobu jsme při kontrole, zda byla splněna podmínka, hledali jednoduchá vyjádření. Co když chcete ke kontrole konkrétní podmínky použít více než jeden výraz?
V tomto článku se podíváme na to, jak můžete kombinovat více výrazů označovaných jako složené výrazy a zkontrolovat podmínku při filtrování textu nebo řetězců.
v Awk, složené výrazy jsou postaveny pomocí &&
označován jako (a)
a ||
označován jako (nebo)
složené operátory.
Obecná syntaxe pro složené výrazy je:
(první_výraz) && (druhý_výraz)
Tady, první_výraz
a druhý_výraz
musí být pravdivé, aby byl celý výraz pravdivý.
(první_výraz) || (druhý_výraz)
Zde také jeden z výrazů první_výraz
nebo druhý_výraz
musí být pravdivé, aby byl pravdivý celý výraz.
Pozor: Nezapomeňte vždy zahrnout závorku.
Výrazy lze sestavit pomocí porovnávacích operátorů, na které jsme se podívali Část 4 série awk.
Pojďme nyní jasně porozumět pomocí níže uvedeného příkladu:
V tomto příkladu máte textový soubor s názvem tecmint_deals.txt
, který obsahuje seznam některých úžasných náhodných Tecmint nabídek, obsahuje název obchodu, cenu a typ.
Seznam dohod TecMint
No Name Cena Typ. 1 Software Mac_OS_X_Cleanup_Suite za 9,99 $. 2 Základy_Notebook 14,99 $ Životní styl. 3 Tactical_Pen 25,99 $ Životní styl. 4 Scapple 19,00 $ Neznámý. 5 Nano_Tool_Pack 11,99 $ Neznámý. 6 Ditto_Bluetooth_Altering_Device $ 33,00 Tech. 7 Nano_Prowler_Mini_Drone 36,99 $ Tech
Řekněme, že chceme pouze tiskové a vlajkové nabídky, které jsou výše $20 a typu "Tech" za použití (**)
znak na konci každého řádku.
Musíme spustit níže uvedený příkaz.
# 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.00Technika * 7 Nano_Prowler_Mini_Drone $36.99Technika *
V tomto příkladu jsme použili dva výrazy ve složeném výrazu:
Pamatujte, že řádek bude označen pouze pomocí (**)
, pokud první výraz a druhý výraz jsou pravdivé, jak uvádí princip &&
operátor.
Některé podmínky pro vás vždy vyžadují vytváření složených výrazů, aby přesně odpovídaly tomu, co chcete. Když porozumíte použití operátorů porovnání a složeného výrazu, pak bude filtrování textu nebo řetězců na základě některých obtížných podmínek snadné.
Doufáme, že vám tato příručka bude užitečná a v případě jakýchkoli otázek nebo doplňků vždy nezapomeňte zanechat komentář a vaše obavy budou podle toho vyřešeny.