צינור עם 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 אונליין