מצא קבצים המכילים טקסט ספציפי בלינוקס
לינוקס, ללא קשר להפצה שבה אתה משתמש, מגיעה עם מספר כלי GUI המאפשרים חיפוש קבצים. מנהלי קבצים מודרניים רבים תומכים בחיפוש קבצים ישירות ברשימת הקבצים. עם זאת, ישנם מספר מצבים שבהם אתה צריך להשתמש בקונסולה, למשל, במהלך הפעלת SSH או כאשר שרת X אינו מופעל. כך תוכל למצוא קבצים המכילים טקסט ספציפי במהירות באמצעות הטרמינל.
פרסומת
אם אתה יכול להשתמש ב-GUI, חיפוש קבצים אינו מהווה בעיה. בסביבת שולחן העבודה האהובה עלי XFCE, מנהל הקבצים של Thunar מאפשר חיפוש קבצים על ידי הקלדת שם הקובץ ישירות ברשימת הקבצים.
עם זאת, אף אחד ממנהלי הקבצים שניסיתי לא מאפשר חיפוש אחר תוכן הקבצים.
כדי לעקוף מגבלה זו בעת עבודה בהפעלת GUI, אתה יכול להשתמש ב- Сatfish. Сatfish הוא כלי חיפוש פופולרי. זה מאפשר חיפוש אחר תוכן הקובץ. עליך ללחוץ על סמל גלגל השיניים ולהפעיל את האפשרות חפש את תוכן הקובץ.
עם זאת, כשמדובר בטרמינל, אינך יכול להשתמש באף כלי גרפי. כמו כן, אני מוצא את Catfish לא שימושי ומעדיף כלי קונסולה קלאסיים על פניו. להלן השיטות והכלים שבהם אני משתמש.
כדי למצוא קבצים המכילים טקסט ספציפי בלינוקס, תעשה את הדברים הבאים.
- פתח את אפליקציית המסוף המועדפת עליך. מסוף XFCE4 היא העדפה אישית שלי.
- הקלד את הפקודה הבאה:
find ./ -type f -exec grep -l "טקסט למצוא" {} \;
- זה ייצור את רשימת הקבצים המכילה את חלק הטקסט הנדרש.
הפקודה find תחפש קבצים החל מהספרייה הנוכחית, "./". אתה יכול לציין את הנתיב הרצוי במקום.
האפשרות -סוג f אומר לו לחפש רק קבצים ולא לכלול ספריות. כמו כן, אתה יכול לגרום לזה לחפש רק סוג קובץ מסוים על ידי הוספת האפשרות כדלקמן:find ./ -type f -iname "*.txt" -exec grep -l "טקסט למצוא" {} \;
ראה את צילום המסך הבא:
ה -exec option קורא לכלי grep עבור כל אחד מהקבצים התואמים כדי לבדוק את תוכנם. אם הטקסט נמצא בקובץ, שמו יתווסף לפלט, הודות ל- -ל אפשרות.
אלטרנטיבות
ישנן חלופות לשיטות שתוארו לעיל. קודם כל, אתה יכול להשתמש רק ב grep כְּלִי. נסה את הפקודה הבאה:
grep -iRl "טקסט למצוא" ./
- -i מייצג רישיות התעלמות של טקסט.
- -R מייצג עיבוד קבצים רקורסיבי.
- -l מייצג "הצג את שם הקובץ, לא את התוצאה עצמה".
כפי שאתה יכול לראות, שיטה זו פחות גמישה מה למצוא פקודה.
מפקד חצות
שיטה נוספת שבה אני משתמש לעתים קרובות היא Midnight Commander (mc), אפליקציית מנהל הקבצים של המסוף. שלא כמו find או grep, mc אינו כלול כברירת מחדל בכל ההפצות של לינוקס שניסיתי. ייתכן שתצטרך להתקין אותו בעצמך.
כדי למצוא קבצים המכילים טקסט מסוים באמצעות Midnight Commander, הפעל את האפליקציה ולחץ על הרצף הבא במקלדת:
Alt + מִשׁמֶרֶת + ?
פעולה זו תפתח את תיבת החיפוש.
מלא את הקטע "שם קובץ:". אתה יכול לציין משהו כמו "*.txt" כדי לחפש את הטקסט שלך בקובצי טקסט בלבד.
כעת, מלא את ה תוֹכֶן: קופסא. הקלד את הטקסט שהקבצים מכילים ולחץ על מקש Enter.
זה ימצא את כל הקבצים התואמים את הקריטריונים.
זהו זה.