צינור עם Grep
חלק מהיחידה יסודות במסלול ה-Terminal של Coddy. שיעור 46 מתוך 82.
הפקודה grep נעשית עוצמתית במיוחד כשמשלבים אותה עם צינורות. במקום לחפש בתוך קובץ, אפשר לסנן את הפלט של כל פקודה כדי למצוא בדיוק את מה שצריך.
נניח שאתה רוצה למצוא קובץ מסוים ברשימת הקבצים שבתיקייה:
ls -l | grep "report"הפקודה מציגה את כל הקבצים בפירוט, ואז מסננת אותם כך שיוצגו רק השורות שמכילות את "report". כך מתקבלות תוצאות ממוקדות בלי לסרוק ידנית את כל הרשימה.
אפשר להעביר פלט אל grep מכל פקודה שמפיקה פלט טקסטואלי. כדי למצוא תהליכים פעילים הקשורים לתוכנית מסוימת:
ps aux | grep "python"אפשר גם לשרשר את grep לפקודות אחרות שלמדת. כדי לספור כמה שורות מכילות מילה מסוימת:
cat logfile.txt | grep "error" | wc -lהפקודה קוראת את הקובץ, מסננת שורות שמכילות את "error", ואז סופרת אותן. הדגלים של grep שלמדת קודם פועלים באותה דרך בצינורות: השתמשו ב־-i להתאמה שאינה רגישה לאותיות רישיות, או ב־-v כדי להחריג התאמות.
אתגר
קלהקובץ access.log מכיל רשומות גישה של שרת אינטרנט. השתמש בצינור כדי לסנן ולספור כמה בקשות הסתיימו בקוד מצב שגיאה 500.
הרץ פקודה אחת ש:
- משתמשת ב־
catכדי לקרוא אתaccess.log - מעבירה את הפלט אל
grepכדי לסנן שורות שמכילות500 - מעבירה את הפלט אל
wc -lכדי לספור את השורות המתאימות
רמז: שרשר את שלוש הפקודות יחד באמצעות הסמל
|. הפקודה grep מסננת את הפלט, ו־wc -lסופרת את השורות שנותרו.
נסו בעצמכם
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7תוכן הקובץ
ראש וזנבספירת מיליםפקודת המיוןפקודת הסינון לכפילויותיסודות grepgrep עם דגליםסיכום – בלש/ית טקסט13יסודות כתיבת סקריפטים ב-Shell
מהו סקריפט Shellיצירה והרצה של סקריפטמשתנים בסקריפטיםקלט משתמש בסקריפטיםמשפט ifלולאת forלולאת whileסיכום – נחשו את המספר2ניווט
הצגת ספריית העבודההצגת קבציםשינוי ספרייהנתיבים מוחלטים לעומת יחסייםספריית הבית וספריית השורשסיכום – מצאו את הדרך8ניתוב מחדש
פלט סטנדרטיכתיבה לקובץ תוך דריסת התוכןהוספה לקובץקלט סטנדרטישגיאה סטנדרטיתסיכום – בונה יומני רישום14פרויקט סקריפט לגיבוי
סקירת הפרויקטקבלת נתיב המקורתרגלו בעצמכם: Terminal אונליין