Grep היא תוכנית יוניקס קטנה למציאת דפוסים תואמים. החל כתוכנית יוניקס, ניתן למצוא אותה גם ב- Linux וגם ב- Mac וב- BSD. זה יכול לקרוא רק על כל טקסט, כלומר זה יכול לקרוא קלט פקודות אחרות, או שהוא יכול לפתוח ולהסתכל דרך קבצים ישירות. Grep הוא שימושי בטירוף, במיוחד עבור מחפש דרך ספריות משורת הפקודה.

עם זאת, למה לא לנסות אחד השימושים הנפוצים ביותר עבור Grep, מציאת קובץ בספרייה. חפש את "~ / הורדות" תיקייה עבור כל "jpg" תמונות.

 ls ~ / הורדות ag 

Grep ירשום את כולם ויסמן את החלק ".jpg" מכיוון שזה מה שחיפשת.

אתה מקטרת את הפלט (עם הפקודה "|") של כמעט כל פקודה לתוך grep . אם יש לך קובץ טקסט רגיל הנחת מסביב, cat אותו וצינור את התוצאה לתוך Grep כדי למצוא מילה מסוימת.

 cat file.txt | מילה 

Grep יהיה להדפיס את כל השורות בקובץ המכיל את המילה שאמרת את זה כדי לחפש.

עזוב את המקרה

מערכות דמויי יוניקס הן רגישות לרישיות, כלומר "אובונטו" שונה לחלוטין מ"אובונטו ". זה יכול להיות כאב כאשר מחפשים משהו. ל- Grep יש דגל כדי למנוע את הבעיה. הוסף את דגל ה- -i לחיפוש שלך, ו- Grep יתעלם מהמקרה.

 ls ~ / הורדות grep -i אובונטו 

חפש בקובץ

זה לא יהיה כל כך נוח צריך cat בכל פעם שאתה רוצה לחפש קובץ. למעשה, אתה לא. Grep יכול לחפש דרך הקבצים עצמם. העבר את הנתיב לקובץ, ו- Grep יעשה את השאר.

 grep -i word /path/to/file.txt 

חיפושים רקורסיביים

Grep יכול לחפש יותר מקובץ או ספרייה אחת בו-זמנית. להיות הזהיר, אם אתה מחפש שמות קבצים, Grep יהיה לחפש קבצים כברירת מחדל, גם. הדגל -r אומר ל- Grep לבצע חיפוש רקורסיבי.

 ls ~ / הורדות grep -r .deb 

אתה יכול להתאים את זה עם דגלים אחרים, גם. ייתכן שתרצה לכלול את הדגל - -I בעת ביצוע חיפושים רקורסיביים כדי למנוע מ- Grep להסתכל דרך קבצים בינאריים.

 ls ~ / הורדות grep -IIr .deb 

מצא את הפוכה

תוכל גם לומר ל- Grep לחפש את כל הפריטים שאינם מכילים את התבנית שצוינה. זה יהיה טוב במקרים שבהם אתה צריך למצוא שגיאה או שיש לך ספרייה עם המון קבצים של אחד או שני סוגים.

 grep-rv '192.168.1.110' / etc / nginx 

מילים וקווים

זה גם עשוי להיות שימושי כדי לספר Grep לחפש מילים או שורות מלאות, במקום כל דבר המכיל דפוס מסוים. תאר לעצמך שאתה מחפש מחרוזת של תווים נפוצה כחלק ממילה, אבל אתה צריך את זה כדי להיות נפרד. לדוגמה, את המילה "זה". ברור, לא היו הרבה פעמים אתה באמת רוצה לחפש דפוס כמו "זה", אבל זה מוכיח את הנקודה.

 cat textfile.txt grep -w זה 

במקום להדפיס כל מילה שמכילה את התבנית, Grep רק ידפיס את המילה בעצמה. הוא עושה את אותו הדבר עבור כל השורות עם דגל -x, אז אם אתה מחפש ביטוי או שורה אחת בקובץ תצורה, זה באמת יכול לעזור.

אם אתה מעוניין לחקור את כל מה ש- Grep יכול לעשות, הפעל את ה- man grep במסוף עבור התיעוד המלא. מאמר זה כיסה את היסודות ואת כל מה שאתה בדרך כלל צריך זה כלי רב עוצמה. שתף איתנו אם ידוע לך על כל שימוש רב עוצמה בפקודה Grep.

קרדיט תמונה: נקודות סקריפט של Shell שמעניינות את הקואורדינטות