ずっと、条件が満たされているかどうかをチェックするとき、私たちは簡単な表現を見てきました。 複数の式を使用して特定の条件をチェックする場合はどうなりますか?
この記事では、複合式と呼ばれる複数の式を組み合わせて、テキストまたは文字列をフィルタリングするときに条件を確認する方法について説明します。
の Awk, 複合式 を使用して構築されています &&
と呼ばれる (と)
そしてその ||
と呼ばれる (また)
複合演算子。
複合式の一般的な構文は次のとおりです。
(first_expression)&&(second_expression)
ここに、 first_expression
と second_expression
式全体を真にするためには、真でなければなりません。
(first_expression)|| (second_expression)
ここでは、いずれかの式のいずれか first_expression
また second_expression
式全体が真であるためには、真でなければなりません。
注意:常に括弧を含めることを忘れないでください。
式は、で調べた比較演算子を使用して作成できます。 awkシリーズのパート4.
以下の例を使用して、明確に理解しましょう。
この例では、aという名前のテキストファイルがあります tecmint_deals.txt
、いくつかの驚くべきランダムなTecmint取引のリストが含まれており、取引の名前、価格、タイプが含まれています。
TecMintディールリスト
名前なし価格タイプ。 1 Mac_OS_X_Cleanup_Suite $ 9.99ソフトウェア。 2 Basics_Notebook $ 14.99ライフスタイル。 3 Tactical_Pen $ 25.99ライフスタイル。 4スクラップル$ 19.00不明。 5 Nano_Tool_Pack $ 11.99不明。 6 Ditto_Bluetooth_Altering_Device $ 33.00Tech。 7 Nano_Prowler_Mini_Drone $ 36.99 Tech
上記の取引のみを印刷してフラグを立てたいとしましょう $20 およびタイプ 「技術」 を使用して (**)
各行の終わりに署名します。
以下のコマンドを実行する必要があります。
#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技術* 7 Nano_Prowler_Mini_Drone $36.99技術*
この例では、複合式で2つの式を使用しています。
行には、 (**)
、 もしも 最初の式 と 2番目の式 の原則を述べているように真実です &&
オペレーター。
一部の条件では、必要なものと完全に一致するように複合式を作成する必要があります。 比較演算子と複合式演算子の使用法を理解すると、いくつかの難しい条件に基づいてテキストまたは文字列をフィルタリングすることが容易になります。
このガイドがお役に立てば幸いです。質問や追加がある場合は、必ずコメントを残してください。それに応じて懸念事項が解決されます。