כיצד למצוא טקסט בקבצים בלינוקס

How Find Text Files Linux



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

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







מציאת טקסט בקבצים

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



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



מצא טקסט בקבצים באמצעות grep

ב- Linux, grep הוא כלי ברירת המחדל לחיפוש טקסטים. שמו נגזר מהפקודה ed g/re/p המייצגת חיפוש גלובלי אחר ביטוי רגיל והדפסת שורות תואמות. הוא זמין בכל הפצת לינוקס מודרנית.





Grep הוא כלי שורת פקודה. מבנה הפיקוד שלה הוא כדלקמן.

$אחיזה <אוֹפְּצִיָה> <הבעה רגילה> <קובץ_נתיב>

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



לצורכי הדגמה, קח קובץ טקסט לדוגמה. בדוגמה זו, הורד את קובץ טקסט של GNU General Public License v3.0 .

חיפוש בסיסי

הדרך הבסיסית להשתמש ב- grep היא לחפש מחרוזת בסיסית.

תסתכל על הפקודה הבאה grep. הוא יחפש את המילה GNU בקובץ הטקסט.

$אחיזה 'GNU'lpg-3.0.טקסט

כדי להציג את מספר השורה, השתמש בדגל -n.

$אחיזה -nGNU gpl-3.0.טקסט

לביצוע חיפוש חסר רישיות באמצעות grep, השתמש בדגל -i.

$אחיזה -ניgnu gpl-3.0.טקסט

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

$אחיזה gnu*

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

$חתולlpg-3.0.טקסט| אחיזה -nGNU

הבעה רגילה

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

כדי להגדיר שהמחרוזת נמצאת בתחילת שורה, השתמש בסמל caret (^).

$אחיזה -n^ GNU gpl-3.0.טקסט

כדי להגדיר שהמחרוזת נמצאת בסוף שורה, השתמש בסימן הדולר ($).

$אחיזה -nל- $ gpl-3.0.טקסט

כדי לתאר שיכול להיות כל תו במיקום מסוים של התבנית, השתמש בתו הנקודה (.). לדוגמה, הביטוי G.U תקף אם יש תו כלשהו בין G ו- U.

$אחיזה -nG.U gpl-3.0.טקסט

כדי לתאר שיכולה להיות קבוצת משנה של תווים במיקום מסוים של התבנית, השתמש בסוגריים ([]). לדוגמה, הביטוי t [wo] o אומר שההתאמה תקפה לשניים וגם מדי.

$אחיזה -nt[איפה]o gpl-3.0.טקסט

ביטוי רגיל מורחב

כפי שהשם מרמז, ביטוי רגיל מורחב יכול לעשות דברים מורכבים יותר מביטויים רגילים בסיסיים. כדי להשתמש בביטוי רגיל מורחב עם grep, עליך להשתמש בדגל -E.

$אחיזה -נוֹלָד <מורחב_רגס> <קוֹבֶץ>

כדי לחפש שני מחרוזות שונות, השתמש באופרטורים OR (|).

$אחיזה -נוֹלָדGNU|כללי|רישיון gpl-3.0.טקסט

מציאת טקסט בקבצים

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

$אחיזה <regex> *

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

$אחיזה <regex> <נתיב ספרייה>

אם יש תיקיות, grep לא בוחן אותן כברירת מחדל. כדי להגיד ל- grep לחפש רקורסיבית, השתמש בדגל -R.

$אחיזה -nR <regex> <נתיב ספרייה>

אחיזת GUI

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

מצא טקסט בקבצים באמצעות nano

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

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

פתח את קובץ הטקסט ב- nano.

$ננו <קובץ_נתיב>

לחיפוש התאמת מחרוזת, הקש Ctrl + W. לאחר הקלדת המחרוזת לחיפוש, הקש Enter.

מצא טקסט בקבצים באמצעות Vim

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

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

כדי לחפש בקובץ טקסט, ראשית, פתח אותו ב- Vim.

$באתי <קובץ_נתיב>

הזן את הפקודה Vim הבאה והקש Enter.

$:/<מונח חיפוש>

מצא טקסט בקבצים באמצעות עורך הטקסט GNOME

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

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

פתח את קובץ הטקסט בעורך הטקסט. הקש Ctrl + F כדי להציג את סרגל החיפוש.

מצא טקסט בקבצים באמצעות קוד VS

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

התקן את חבילת הצמד Visual Studio Code.

$סודולְצַלֵםלהתקיןקוד--קלַאסִי

פתח את קובץ הטקסט ב- VS Code. הקש Ctrl + F כדי להתחיל בחיפוש.

מחשבות אחרונות

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

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

מחשוב שמח!