הצג קווים לפני ואחרי התאמה באמצעות Grep

Show Lines Before After Match Via Grep



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

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







ls



דוגמה 01: שימוש ב- '-A' ו- '-B'

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



$חתולone.txt





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

$אחיזהאנחנו one.txt



לכן, בדוגמה זו, נציג את השורות לפני ואחרי התאמת המילה הספציפית בכמה קבצי טקסט. אז באמצעות אותו קובץ טקסט one.txt התאמנו את המילה we תוך הצגת שלוש השורות שלפניה כמפורט להלן. הדגל -B מייצג לפני. הפלט מציג רק 2 שורות לפני שורת המילים הספציפית מכיוון שלקובץ אין יותר שורות לפני השורה של מילה ספציפית. הוא גם מציג את השורות שבהן יש את המילה הספציפית הזו.

$אחיזה–ב3אנחנו one.txt

הבה נשתמש באותה מילת מפתח אנו מקובץ זה כדי להציג את 3 השורות לאחר השורה המכילות את המילה we. הדגל -A מציג את After. הפלט שוב ​​מציג רק 2 שורות מכיוון שאין בו יותר שורות בקובץ.

$אחיזה3אנחנו one.txt

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

$אחיזה3יכול one.txt

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

$אחיזה–ב3יכול one.txt

דוגמה 02: שימוש ב- '-A' ו- '-B'

הבה ניקח קובץ טקסט נוסף, two.txt, מספריית הבית ונציג את תוכנו באמצעות פקודת החתול למטה.

$חתולtwo.txt

הבה נציג 5 שורות לפני המילה רוב מהקובץ two.txt באמצעות הפקודה grep. הפלט מראה 5 שורות לפני השורה מכילה מילה ספציפית.

$אחיזה–ב5רוב שני.טקסט

הפקודה grep to מציגה את 5 השורות אחרי המילה Most מקובץ הטקסט two.txt ניתנה להלן.

$אחיזה5רוב שני.טקסט

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

$אחיזה–ב2של two.txt

כעת ניתן להציג את 2 שורות הקובץ two.txt אחרי השורה המכילה את מילת המפתח של באמצעות הפקודה שלהלן. הפלט מציג שוב יותר משתי שורות.

$אחיזה2של two.txt

דוגמה 03: שימוש ב- '-C'

דגל נוסף, -C שימש להצגת השורות לפני ואחרי המילה המתאימה. הבה נציג את תוכן הקובץ one.txt באמצעות הפקודה cat.

$חתולone.txt

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

$אחיזה–ג2חברה one.txt

בואו לראות את תוכן הקובץ two.txt באמצעות הפקודה למטה cat.

$חתולtwo.txt

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

$אחיזה–ג2שירים two.txt

נשתמש במילת מפתח נוספת מהקובץ two.txt להתאמה. הפעם אנו צורכים את הטבע כמילת מפתח. אז נסה את הפקודה שלהלן תוך שימוש ב- -C כדגל בעל מילת המפתח nature מהקובץ two.txt. הפעם, הפלט כולל יותר משתי קווים בפלט. מכיוון שהקובץ מכיל את המילה טבע יותר מפעם אחת, זו הסיבה שעומדת מאחוריו. מילת המפתח טבע, שבאה קודם כל, כוללת שתי שורות לפניה ושתי שורות אחריה. בעוד השנייה התאימה לאותה מילת מפתח, לטבע יש שתי שורות לפניה, אך אין שורות אחריה מכיוון שהיא נמצאת בשורה האחרונה של הקובץ.

$אחיזה–ג2שירים two.txt

סיכום

אנו מצליחים להציג את השורות לפני ואחרי המילה הספציפית תוך שימוש בהוראת grep.