Fish Shell:
שימוש בביטויים רגולריים
איך לעשות זאת:
למרות ש-Fish Shell עצמו אינו כולל פקודה מובנית ל-regex, הוא משתמש ביעילות בפקודות חיצוניות כמו grep, sed ו-awk שתומכות ב-regex, מה שמאפשר לך לכלול פעולות regex בסקריפטים שלך.
התאמת תבנית בסיסית עם grep
חיפוש שורות בקובץ שמתאימות לתבנית:
grep '^[0-9]+' myfile.txtפקודה זו מוצאת שורות שמתחילות בספרה אחת או יותר ב-myfile.txt.
חילוץ והחלפה עם sed
חילוץ מספרי טלפון מקובץ:
sed -n '/\([0-9]\{3\}\)-\([0-9]\{3\}\)-\([0-9]\{4\}\)/p' contacts.txtהחלפת כל המופעים של “foo” ב-“bar” ב-data.txt:
sed 's/foo/bar/g' data.txtשימוש ב-string לביטויים רגולריים בסיסיים
פקודת string של Fish Shell תומכת בפעולות regex פשוטות כמו התאמה והחלפה:
התאמת תבנית במחרוזת:
echo "fish 3.1.2" | string match -r '3\.[0-9]+\.[0-9]+'פלט:
3.1.2החלפת ספרות שלאחר ‘fish’ ב-‘X.X.X’:
echo "Welcome to fish 3.1.2" | string replace -ra '([fish]+\s)[0-9\.]+' '$1X.X.X'פלט:
Welcome to fish X.X.Xהתאמה מתקדמת עם awk
הדפסת העמודה השנייה של נתונים בה העמודה הראשונה מתאימה לתבנית מסוימת:
awk '$1 ~ /^a[0-9]+$/ {print $2}' datafileפקודה זו מחפשת שורות ב-datafile שבהן העמודה הראשונה מתחילה ב-“a” אחריו ספרה אחת או יותר ומדפיסה את העמודה השנייה.
על ידי שילוב פקודות חיצוניות אלו, תכנתי Fish Shell יכולים לנצל את הכוח המלא של ביטויים רגולריים למשימות עיבוד טקסט מורכבות, מה שמשדרג את היכולות המקוריות של המעטפת.