Grep היא תוכנית יוניקס קטנה למציאת דפוסים תואמים. התחילה כתוכנית Unix, ניתן למצוא אותה גם בלינוקס וגם ב-Mac וב-BSD. הוא יכול לקרוא כמעט כל טקסט, מה שאומר שהוא יכול לקרוא קלט מפקודות אחרות, או שהוא יכול לפתוח ולבחון קבצים ישירות. Grep שימושי ביותר, במיוחד עבור חיפוש ספריות בשורת הפקודה.
עם זה בחשבון, למה לא לנסות את אחד השימושים הנפוצים ביותר של Grep, למצוא קובץ בספריה. חפש בתיקייה “~/Downloads” עבור כל תמונות “jpg”.
ls ~/Downloads | grep .jpg
Grep יפרט את כולם ותדגיש את החלק “.jpg” מכיוון שזה מה שחיפשת.
אתה מעביר את הפלט (עם הפקודה “|”) כמעט מכל פקודה אל grep
. אם יש לך קובץ טקסט רגיל זמין, cat
החוצה והעבירו את התוצאה אל Grep כדי למצוא מילה ספציפית.
cat file.txt | grep word
Grep ידפיס כל שורה בקובץ המכילה את המילה שביקשת ממנו לחפש.
תוכן עניינים
לשכוח את המקרה
מערכות דמויות יוניקס הן רגישות לאותיות גדולות, מה שאומר ש”אובונטו” שונה לחלוטין מ”אובונטו”. זה יכול להיות כאב כשמחפשים משהו. ל-Grep יש דגל כדי לחסל את הבעיה. לְהוֹסִיף -i
סמן עבור החיפוש שלך ו-Grep יתעלם מהמקרה.
ls ~/Downloads | grep -i Ubuntu
חפש בקובץ
זה לא יהיה כל כך נוח להזדקק cat
בכל פעם שאתה רוצה לחפש קובץ. למעשה, אתה לא. Grep יכול לחפש קבצים בעצמו. תן לו את הנתיב לקובץ וגרפ יעשה את השאר.
grep -i word /path/to/file.txt
חיפושים רקורסיביים
Grep יכול לחפש יותר מקובץ או ספרייה אחד בו-זמנית. שימו לב, אם אתם מחפשים שמות קבצים, Grep יחפש גם קבצים כברירת מחדל. ה -r
הדגל אומר לגרפ לחפש רקורסיבית.
ls ~/Downloads | grep -r .deb
אתה יכול גם להתאים את זה עם דגלים אחרים. אולי תרצה לכלול את -I
סמן בעת ביצוע חיפושים רקורסיביים כדי למנוע מ-Grep לחפש קבצים בינאריים.
ls ~/Downloads | grep -iIr .deb
למצוא את ההיפך
אתה יכול גם להגיד ל-Grep לחפש הכל לא המכיל את התבנית שצוינה. זה יהיה טוב במקרים שבהם אתה צריך למצוא שגיאה או שיש לך ספרייה עם קבצים רבים מסוג אחד או שניים.
grep -rv '192.168.1.110' /etc/nginx
מילים ושורות
זה יכול גם להיות שימושי לומר ל-Grep לחפש מילים או שורות מלאות, במקום כל דבר שמכיל דפוס מסוים. תארו לעצמכם שאתם מחפשים מחרוזת שהיא נפוצה כחלק ממילה אבל צריך להפריד אותה. לדוגמה, המילה “זה”. ברור שלא יהיו הרבה פעמים שאתה במציאות אני רוצה לחפש דפוס כמו “זה”, אבל זה מוכיח את הנקודה.
cat textfile.txt | grep -w it
במקום להדפיס כל מילה שמכילה את הדוגמה, Grep פשוט ידפיס את המילה עצמה. זה עושה את אותו הדבר עבור שורות שלמות עם -x
flag, אז אם אתה מחפש ביטוי או שורה בודדת בקובץ תצורה, זה באמת יכול לעזור.
אם אתה מעוניין לחקור את כל גרפ יכול לעשות, לרוץ man grep
במסוף לתיעוד מלא. מאמר זה כיסה את היסודות ואת כל מה שאתה צריך בדרך כלל מהכלי החזק הזה. שתף אותנו אם אתה יודע על שימושים רבי עוצמה של פקודת Grep.
קרדיט תמונה: מעטפת סקריפט נקודות עניין לקואורדינטות