10 דוגמאות מעשיות לפקודת Linux Grep

10 דוגמאות מעשיות לפקודת Linux Grep

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





קובץ לדוגמא להפגנה

יצרנו קובץ הפניה שיעזור לקוראים להבין grep ביעילות רבה יותר. תוכל ליצור עותק של קובץ זה על ידי הנפקת פקודת המעטפת הבאה במסוף שלך.





קוד שגיאה של מרכז העזרה של דיסני + 83
cat <> test-file
This is a simple text file that contains
multiple strings as well as some telephone numbers
(555) 555-1234 (567) 666-2345
and email plus web addresses
john@doe.com
https://google.com
ftp://mywebserver.com
END

1. מצא טקסט בקבצים

כדי לחפש תבנית טקסט בקובץ, פשוט הפעל grep ואחריו שם התבנית. כמו כן, ציין את שם הקובץ המכיל את הטקסט.





grep 'email' test-file

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

grep 'example' /usr/share/dict/american-english /usr/share/dict/british-english

הפקודה לעיל מציגה את כל מופעי המילה דוגמא בתוך ה אנגלית אמריקאית ו אנגלית בריטית קבצי מילון.



2. מצא מילות התאמה מדויקות

הפקודה Linux grep המוארת בדוגמה הקודמת מפרטת גם שורות עם התאמות חלקיות. השתמש בפקודה המפורטת להלן אם אתה רק צריך את המופעים המדויקים של מילה.

grep -w 'string' test-file

ה אוֹ -word-regexp אפשרות grep מגבילה את הפלט להתאמות מדויקות בלבד. Grep מורכב מכמה דגלים נוספים שניתן להשתמש בהם גם עם פקודת ברירת המחדל.





קשורים: כיצד קיבלה גרפ את שמה? ההיסטוריה מאחורי יצירתו של גריפ

3. התעלם מהבחנות מקרה

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





grep -i 'this' test-file

להשתמש ב -אני אוֹ -מקרה -ignore אפשרות לכיבוי רגישות האותיות.

4. ספרו את מספר הדפוסים

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

אתה יכול צינור הפקודה ps עם grep לספירת התהליכים השייכים למשתמש הנוכחי.

ps -ef | grep -c $USER

הפקודה הבאה מציגה את מספר MP3 קבצים הקיימים בספרייה.

ls ~/Music | grep -c .mp3

5. הצג מספרי קו המכילים התאמות

ייתכן שתרצה למצוא את מספרי השורות המכילים התאמה מסוימת. להשתמש ב -n אוֹ --מספר קו אפשרות grep להשיג זאת.

cat /etc/passwd | grep -n rubaiat

אפשרות זו שימושית במיוחד לצורך איתור באגים בקודי מקור ופתרון בעיות בקבצי יומן. להצגת כל המספרים עבור השורות ב- ~/.vimrc המשמשים להגדרת עורך הטקסט Vim:

grep -n 'set' ~/.vimrc

6. מצא שמות קבצים באמצעות הרחבות

כדי לקבל רשימה של כל MP3 קבצים הקיימים ב- ~/מוזיקה מַדרִיך:

ls ~/Music/ | grep '.mp3'

אתה יכול להחליף .mp3 עם כל הרחבות אחרות לאיתור קבצים ספציפיים. הפקודה הבאה מפרטת את כל php קבצים הקיימים בספריית העבודה הנוכחית.

עזרה לחג המולד למשפחות נזקקות 2016
ls | grep '.php'

7. מצא דפוסים בקבצים דחוסים

פקודת Linux grep יכולה גם למצוא תבניות בתוך קבצים דחוסים. יהיה עליך להשתמש ב- zgrep הפקודה לעשות זאת, עם זאת. ראשית, צור ארכיון דחוס שלנו קובץ הבדיקה על ידי הקלדה:

gzip test-file

כעת תוכל לחפש טקסט או דוגמאות אחרות בתוך הארכיון שהתקבל.

zgrep email test-file.gz

8. מצא כתובות דוא'ל

מנהלים יכולים גם לרשום כתובות דוא'ל מקובצי טקסט באמצעות הפקודה Linux grep. הדוגמה הבאה עושה זאת על ידי חיפוש אחר תבנית ביטוי רגילה.

grep '^[a-zA-Z0-9]+@[a-zA-Z0-9]+.[a-z]{2,}' test-file

אתה יכול למצוא ביטויים רגילים לביצוע עבודות דומות או שאתה יכול ליצור אותם בעצמך אם אתה יודע כיצד הם עובדים.

9. מצא מספרי טלפון באמצעות Grep

אתה יכול להשתמש בביטויים רגילים של grep לסינון מספרי טלפון מקובץ טקסט. שים לב שיהיה עליך לשנות את התבנית כך שתתאים לסוג מספרי הטלפון שאתה צריך.

grep '(([0-9]{3})|[0-9]{3})[ -]?[0-9]{3}[ -]?[0-9]{4}' test-file

הפקודה הנ'ל מסננת מספרי טלפון אמריקאים בני עשר ספרות.

10. מצא כתובות אתרים מקבצי מקור

אנו יכולים למנף את העוצמה של grep לרישום כתובות אתרים המצויים בקובצי טקסט. הפקודה להלן מדפיסה את כל כתובות האתרים הקיימות ב קובץ הבדיקה .

grep -E '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file

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

egrep '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file

שליטה בפקודת Linux Grep

הצגנו מספר דוגמאות שימושיות לפקודת Linux grep להתמודדות עם בעיות בעולם האמיתי. למרות שהדוגמאות הללו ממחישות את העוצמה של grep לעיבוד טקסט, יהיה עליך לשלוט בביטויים רגילים אם אתה רוצה להיות פרודוקטיבי במיוחד עם grep.

לפעמים משתמשי לינוקס נתקלים במצבים מסוימים בהם הם אינם זוכרים את האפשרויות השונות הקשורות לפקודה. יש לקוות שמערכת ההפעלה Linux מספקת לך דרכים לקבל עזרה בשורת הפקודה כמעט לכל כלי מערכת.

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל 7 דרכים לקבל עזרה בשורת הפקודה ב- Linux

כל הפקודות החיוניות ללימוד פקודות לינוקס משורת הפקודה

קרא הבא
נושאים קשורים
  • לינוקס
  • לינוקס
  • פקודות לינוקס
על הסופר רוביית חוסיין(39 מאמרים פורסמו)

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

עוד מאת רוביית חוסיין

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

Windows 10 לא יאתחל מ- usb
לחצו כאן להרשמה