מפתחי לינוקס פועלים לפי הפילוסופיה של יצירת תוכניות קטנות שעושות משימה אחת ועושות אותה היטב. קח כדוגמה כלי עיבוד טקסט של לינוקס, הם קלים ובעלי פונקציונליות מודולרית. למרות שכלי מניפולציית טקסט אלו שונים במורכבות ובפונקציונליות, הם שימושיים בסביבה שבה ממשק המשתמש הגרפי אינו זמין.
המאמר מכסה את כלי לינוקס הטובים ביותר לקריאת קבצים ולהשתמש בביטויים רגולריים לביצוע פעולות על הטקסט הנבחר. זה גם מכסה את הפונקציונליות הבסיסית ביותר שלהם ודוגמאות להבנה טובה יותר.
1. grep
grep הוא כלי לעיבוד טקסט של לינוקס שמחפש מחרוזת תווים או דפוסים הידועים כביטויים רגולריים בקובץ או בטקסט. כלי grep שייך למשפחת כלי השירות הכוללים egrep, fgrep ו-grep, ביניהם fgrep הוא המהיר מכולם, בעוד grep הוא הקל ביותר.
התחביר הכללי לשימוש ב-grep הוא כדלקמן:
שם קובץ מחרוזת grep -options
לדוגמה, כדי לחפש את המילה "שורש" ב הקובץ /etc/passwd:
grep root /etc/passwd
כמה דוגמאות סטנדרטיות של שורת פקודה לתחילת העבודה הן:
אפשרויות | דוגמא | תיאור |
---|---|---|
-ג | grep -c |
ספור את מספר השורות שבהן המחרוזת קיימת |
-אני | grep -i |
בצע חיפוש לא תלוי רישיות עבור המחרוזת שצוינה |
-o | grep -o |
מדפיס רק את המחרוזת התואמת |
-ל | grep -l "passwd" | מדפיס שמות קבצים בספרייה הנוכחית התואמים לדפוס |
-נ | grep -n |
מדפיס את מספר השורה לאורך השורה המכילה את המחרוזת שצוינה |
מחרוזת1|מחרוזת2 | grep "string1|string2". | מצא ומדפיס מחרוזות מרובות מקובץ |
באופן דומה, אתה יכול להשתמש ב- ^ metacharacter עם הפקודה grep כדי להציג את כל המחרוזות התואמות שמתחילות בתווים מסוימים.
לדוגמה, הפקודה הבאה מעבירה את פלט הפקודה env כקלט ל-grep ומציגה משתנים שמתחילים ב-"הו":
env | grep ^HO
קָשׁוּר: דוגמאות מעשיות לפקודות Linux Grep
2. מביך
awk היא שפת סקריפטים רבת עוצמה וכלי מניפולציית טקסט בשורת פקודה שיכול לבצע סריקות שורה אחר שורה ולהשוות שורות לתבניות. התחביר הבסיסי של הפקודה awk הוא פעולה המוגדרת בין מרכאות בודדות לבין סוגרים מסולסלים ואחריהם שם הקובץ.
awk '{action}' שם הקובץ
awk '{דפוס; action}' שם הקובץ
כלי השירות מחפש את הקובץ באמצעות ביטויים רגולריים ומבצע את הפונקציה המוגדרת בפרמטר הפעולה. awk מבצע את הסקריפט בכל שורה אם לא תגדיר דפוס, כפי שמוצג להלן:
awk '{print $1}' awk_examples.txt
...איפה $1 מציג את השדה הראשון של awk_examples.txt קוֹבֶץ.
הפקודה הבאה מבצעת את פונקציית ההדפסה בתבנית הנתונה על ידי החלפת השדה השני "עוֹלָם" עם "אליס," ומציג את כל השורה ($0):
הד "שלום עולם" | awk '{$2="אליס"; הדפס $0}'
תְפוּקָה:
שלום אליס
באופן דומה, אתה יכול להשתמש בפונקציה להדפיס $0 מהפקודה למעלה כדי לחקות את grep פונקציונליות.
awk '/john/{print $0}' /etc/passwd
john: x: 1001:1001::/home/john:/bin/sh
3. סוג
sort הוא כלי נוסף של שורת הפקודה של לינוקס המסייע לך להציג את התוכן של קובץ הטקסט שצוין בפורמט ממוין. לדוגמה, אתה יכול להעביר את הפלט של הפקודה awk כקלט לכלי השירות המיון באופן הבא:
awk '{print $1}' awk_examples.txt | מיון > sort_text.txt
cat sort_text.txt
תְפוּקָה:
קָשׁוּר: כיצד למיין קבצי טקסט בלינוקס באמצעות מיון
4. sed
עורך sed או stream לוקח קלט כזרם של תווים ומבצע סינון והמרות טקסט (מחיקה, החלפה והחלפה) בטקסט שצוין.
אתה יכול להשתמש בו בסקריפט ולערוך קבצים באופן לא אינטראקטיבי. לפיכך, המטרה הבסיסית ביותר של השירות היא החלפת מחרוזת/תווים. התחביר הכללי הוא:
sed 's/string/substitution/option'
צור קובץ באמצעות משפטים אקראיים כדי לתרגל ולהבין את פעולתו של כלי זה.
בואו נחליף את הופעת המילה "שתיים"בכל שורה בקובץ עם"2" משתמש ב -ז דגל להחלפה גלובלית, כדלקמן:
sed 's/two/2/g' sed_examples.txt > sed_examples2.txt
באופן דומה, השתמש ב- -ד דגל למחיקת שורה מסוימת מהקובץ:
sed '2d' sed_examples.txt
אתה יכול גם להחליף את המחרוזת על ידי ציון מספר שורה (4 ש'/שתיים/2/עמ') ורק הדפסת השורה המוחלפת באופן הבא:
sed -n '4 s/two/2/p' sed_examples2.txt
ה -נ דגל בפקודה למעלה משבית את ההדפסה האוטומטית של זרם הקלט לפלט. אתה יכול להשתמש באפשרות זו לטובתך להחלפת פונקציונליות כלי השירות grep ב-sed.
לדוגמה, אתה יכול לשנות את הפקודה למעלה על ידי הכללת דפוס ביטוי רגולרי בלבד /two/p כזה שה -עמ' הדגל ידפיס רק את השורות לזרם הפלט הסטנדרטי.
sed -n '/two/p' sed_examples2.txt
קָשׁוּר: 10 הדוגמאות האלה יהפכו אותך למשתמש חזק של לינוקס
5. גזירה
החיתוך הוא כלי נוסף של שורת פקודה שחותך/מחלץ חלקי טקסט משורה או קובץ. הוא חותך את הטקסט על סמך מיקום, תו או בתים מוגדרים ומעביר את התוצאה לפלט הסטנדרטי.
כלי השירות תופס את התחביר הבא:
גזירה קוֹבֶץ
להשתמש ב -ב אפשרות לחתוך קטע או תוכן באמצעות בייט מוגדר או טווח של בתים:
cut -b 1 cut_examples.txt
להשתמש ב -ג דגל כדי לחלץ טקסט על ידי ציון מיקומי התווים:
cut -c 1,3,5 cut_examples.txt
לבסוף, אתה יכול גם לחלץ טקסט על ידי ציון שדות עם -ו אפשרות ו -ד עבור מפריד רווח או שדות:
cut -d " " -f 1 cut_examples.txt
להלן רשימת הטווחים עם דוגמאות ותיאורים שתוכלו להשתמש בהם עם הדמות -ג ובייט -ב אפשרויות:
טווח | דוגמא | תיאור |
---|---|---|
n- | חתוך -c 7- שם הקובץ | חלץ תו ממספר שלם n'י עד סוף השורה |
n-m | cut -b 7-15 שם הקובץ | מחלץ מספר שלם n-m של כל שורה מקובץ הקלט |
-M | חתוך -c -7 שם הקובץ | מחלץ שורות החל מ-m עד סוף השורה |
שימו לב שלא ניתן להגדיר את הטווחים לחילוץ טקסט באמצעות השדה -ו אוֹפְּצִיָה.
מניפולציה של טקסט עם פקודות לינוקס
לינוקס מציעה תוכניות וכלים רבים לטיפול ועבודה סביב קבצים או טקסט. אולי לא תידרש ללמוד את כולם מכיוון שאתה יכול בקלות למלא את הפער באחר ברגע שיש לך אחיזה טובה באחד, כמו שימוש ב-sed כ-grep או awk כ-grep, אבל זה לא יכול להיות נכון עבור כל כלי.
חוץ מזה, לפקודות לינוקס יש עקומת למידה תלולה, אבל ברגע שאתה מפתח את המיומנות, הן יכולות להתגלות כשימושיות ויעילות מאוד בחייו של כל משתמש לינוקס, במיוחד מנהל מערכת.
נמאס לכם מאפליקציית הטרמינל הישנה והמשעממת שמגיעה מותקנת מראש בלינוקס? בדוק את שמונה אפליקציות הטרמינל הללו שישפרו את זרימת העבודה שלך.
קרא הבא
- לינוקס
- פקודות לינוקס

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