![Rsync (סנכרון מרחוק): 10 דוגמאות מעשיות לפקודת Rsync בלינוקס](/f/1dfb12fbd7cb809889711172031cb3d5.png?width=100&height=100)
לאורך כל הדרך, הסתכלנו על ביטויים פשוטים כשבדקנו אם התנאי התקיים או לא. מה אם אתה רוצה להשתמש בעוד ביטוי אחד כדי לבדוק אם יש מצב מסוים?
במאמר זה נבחן כיצד ניתן לשלב ביטויים מרובים המכונים ביטויים מורכבים כדי לבדוק אם יש מצב בעת סינון טקסט או מחרוזות.
ב Awk, ביטויים מורכבים בנויים באמצעות &&
מכונה (וגם)
וה ||
מכונה (אוֹ)
מפעילי מתחמים.
התחביר הכללי לביטויים מורכבים הוא:
(ביטוי ראשון) && (ביטוי שני)
פה, ביטוי_ הראשון
ו ביטוי שני_
חייב להיות נכון כדי להפוך את כל הביטוי לאמיתי.
(ביטוי_ראשוני) || (ביטוי שני_)
כאן, גם אחד הביטויים ביטוי_ הראשון
אוֹ ביטוי שני_
חייב להיות נכון כדי שכל הביטוי יהיה נכון.
זְהִירוּת: זכור לכלול תמיד את הסוגריים.
ניתן לבנות את הביטויים באמצעות אופרטורי ההשוואה בהם הסתכלנו חלק 4 מסדרת awk.
הבה נבין כעת הבנה ברורה באמצעות דוגמה להלן:
בדוגמה זו, a יש קובץ טקסט בשם tecmint_deals.txt
, המכילה רשימה של כמה עסקאות Tecmint אקראיות מדהימות, היא כוללת את שם העסקה, המחיר והסוג.
רשימת עסקאות TecMint
אין שם סוג מחיר. תוכנה אחת של Mac_OS_X_Cleanup_Suite $ 9.99. 2 יסודות_Notebook $ 14.99 אורח חיים. 3 Tactical_Pen $ 25.99 אורח חיים. 4 סקאפל $ 19.00 לא ידוע. 5 Nano_Tool_Pack $ 11.99 לא ידוע. 6 Ditto_Bluetooth_Altering_Device $ 33.00 Tech. 7 Nano_Prowler_Mini_Drone 36.99 $ טק
תגיד שאנחנו רוצים רק עסקאות הדפסה וסמן למעלה $20 ומהסוג "טק" משתמש ב (**)
סימן בסוף כל שורה.
נצטרך להריץ את הפקודה שלהלן.
# awk '($ 3 ~ /^$$2-9 ]phia0-9] *****- [0-9 ]$0) && ($ 4 == "טק") {printf "%s \ t%s \ n ", $ 0,"*"; } 'tecmint_deals.txt 6 Ditto_Bluetooth_Altering_Device $33.00טכנולוגיה * 7 Nano_Prowler_Mini_Drone $36.99טכנולוגיה *
בדוגמה זו, השתמשנו בשני ביטויים בביטוי מורכב:
זכור, קו יסומן רק עם (**)
, אם ביטוי ראשון ו ביטוי שני הם נכונים כמדינות העיקרון של &&
מַפעִיל.
תנאים מסוימים דורשים תמיד לבנות ביטויים מורכבים כדי שתתאים בדיוק למה שאתה רוצה. אם אתה מבין את השימוש במפעילים של השוואות וביטויים מורכבים, סינון טקסט או מחרוזות המבוססים על כמה תנאים קשים יהפוך לקל.
מקווה שתמצא מדריך שימושי ולכל שאלה או תוספת, זכור תמיד להשאיר תגובה והדאגה שלך תיפתר בהתאם.