חפש מחרוזות או תבניות בטקסט רגיל מהמסוף

על חיפוש מחרוזות או דפוסים

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

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

חפש מחרוזות או תבניות מהטרמינל

פקודת גרפ

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

התחביר לשימוש בפקודת grep הוא די פשוט:

grep PATRON [RUTA AL ARCHIVO]

לדוגמא, כדי לחפש את המחרוזת 'אובונטובקובץ שבדוגמה זו נקרא text.txtמבלי לקחת בחשבון את ההבחנה בין אותיות קטנות וקטנות, במסוף (Ctrl + Alt + T) נצטרך לבצע את הפקודה בלבד:

grep -i טקסט

grep -i Ubuntu texto.txt

פיקוד סד

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

הפקודה sed כברירת מחדל מדפיסה את הפלט ב- STDOUT (פלט רגיל). זה מרמז על כך שתוצאת הביצוע מודפסת למסוף במקום להישמר בקובץ.

ניתן להשתמש בפקודה Sed כדלקמן:

sed -OPCIONES COMANDO [RUTA AL ARCHIVO]

לדוגמא, כדי להחליף את כל המופעים של 'לינוקס'בטקסט מאת'לינוקס', הפקודה להשתמש תהיה הבאה:

פיקוד סד

sed 's/Linux/GnuLinux/g' texto.txt

אם מה שאנחנו מחפשים הוא להפנות את הפלט לקובץ במקום להדפיס אותו למסוףאנו נשתמש בסימן ההפניה באופן הבא:

sed 's/Linux/GnuLinux/g' texto.txt > salida.txt

פלט הפקודה נשמר בקובץ פלט.טקסט במקום להיות מודפס על המסך.

פלט פקודה sed

כדי לראות אפשרויות נוספות, אתה יכול התייעץ בדפי האיש:

אדם צמא

man sed

אקנה

Ack הוא כלי שורת פקודה מהיר שנכתב בפרל. זה נחשב כתחליף ידידותי לכלי השירות grep, שמייצר תוצאות גם בצורה מושכת ויזואלית.

כדי התקן ack במערכת שלנו נצטרך לבצע במסוף (Ctrl + Alt + T):

התקן ack

sudo apt install ack

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

התחביר של פקודת Ack יהיה משהו כמו הבא

ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

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

חיפוש פיקוד

ack Linux texto.txt

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

בדוגמה הבאה, אין קובץ או ספריה. Ack מזהה באופן אוטומטי את הקובץ הזמין בספריה ומחפש את דפוס ההתאמה:

חיפוש ללא קובץ

ack Linux

ריפגרפ

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

כדי התקן ripgrep במערכת, כל שעליך לעשות הוא להריץ את הפקודה הבאה במסוף (Ctrl + Alt + T):

התקנת ripgrep

sudo apt install ripgrep

התחביר לשימוש ב- ripgrep די פשוט:

rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

אם היינו רוצים לחפש את הרשת 'לינוקסבקבצים הממוקמים בספריה הנוכחית, נצטרך לבצע את הפקודה בלבד:

איש rg לינוקס

rg Linux

כדי לראות אפשרויות נוספות, משתמשים יכולים להשתמש דפי גבר:

איש rg

man rg

מחפש כסף

כדי התקן כלי זהבאובונטו נצטרך לפתוח רק מסוף (Ctrl + Alt + T) ולכתוב את הפקודה:

התקנת silversearcher-ag

sudo apt install silversearcher-ag

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

ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo

לדוגמא, כדי לחפש 'לינוקס'בקובץ text.txt, נצטרך לכתוב במסוף (Ctrl + Alt + T):

חיפוש עם חוקר כסף

ag Linux texto.txt

כדי לראות אפשרויות נוספות אנו יכולים להתייעץ עם דפי גבר:

איש כסף חוקר

man ag

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


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.