1.5 פקודות מתקדמות פתרון
פתרון לתרגיל 1:¶
המשימה היא לחפש כתובות IP שביצעו יותר מ-10 גישות ביום ולהציג את מספר הגישות שלהן בסדר יורד.
הפקודה הראשונה תסנן את כתובת ה-IP מכל שורה בקובץ, ולאחר מכן נשתמש בפקודות sort ו-uniq כדי למיין ולספור את הגישות:
הסבר:
awk '{print $1}' access.log- מוציא את כתובת ה-IP מכל שורה.sort- ממיין את כתובת ה-IP בסדר אלפביתי.uniq -c- סופר את מספר ההופעות של כל כתובת IP.sort -nr- ממיין את התוצאות בסדר יורד לפי מספר ההופעות.awk '$1 > 10 {print $2, $1}'- מציג את כתובת ה-IP ומספר הגישות שלה, רק אם היו יותר מ-10 גישות.
פתרון לתרגיל 2:¶
המשימה היא למצוא שורות שבהן שם הלקוח מכיל את המילה "VIP", ולהדפיס את הערך של הלקוח (העמודה השנייה).
הפקודה הבאה תבצע את החיפוש:
הסבר:
grep "VIP" data.csv- מוצא את השורות שמכילות את המילה "VIP".cut -d',' -f2- חותך את השורה ומדפיס את העמודה השנייה (הסכום, במקרה הזה).
פתרון לתרגיל 3:¶
המשימה היא להמיר את התאריכים בקובץ report.txt מ-DD/MM/YYYY ל-YYYY-MM-DD.
הפקודה הבאה תבצע את ההמרה:
הסבר:
sed 's/.../.../g'- מחליף תבניות בקובץ.\([0-9]\{2\}\)- תופס בדיוק שתי ספרות (היום).\([0-9]\{2\}\)- תופס בדיוק שתי ספרות (החודש).\([0-9]\{4\}\)- תופס ארבע ספרות (השנה).\3-\2-\1- מחליף את התאריכים לפורמטYYYY-MM-DDעל ידי סידור מחדש של הקבוצות.
הפקודה תשנה את התאריכים בקובץ report.txt לפורמט החדש.