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

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

1. grep

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

התחביר הכללי לשימוש ב-grep הוא כדלקמן:

שם קובץ מחרוזת grep -options

לדוגמה, כדי לחפש את המילה "שורש" ב הקובץ /etc/passwd:

grep root /etc/passwd

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

instagram viewer
אפשרויות דוגמא תיאור
grep -c ./bashrc ספור את מספר השורות שבהן המחרוזת קיימת
-אני grep -i ./bashrc בצע חיפוש לא תלוי רישיות עבור המחרוזת שצוינה
-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, אבל זה לא יכול להיות נכון עבור כל כלי.

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

8 אפליקציות המסוף הטובות ביותר לפרודוקטיביות מוגברת של לינוקס

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

קרא הבא

לַחֲלוֹקצִיוּץאימייל
נושאים קשורים
  • לינוקס
  • פקודות לינוקס
על הסופר
רומאיסה ניאזי (7 מאמרים שפורסמו)

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

עוד מ-Rumaisa Niazi

הירשם לניוזלטר שלנו

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

לחץ כאן כדי להירשם