Sed: לימוד סקריפטים של מעטפת באמצעות הפקודה Terminal Terminal

Sed: לימוד סקריפטים של מעטפת באמצעות הפקודה Terminal Terminal

Sed: לימוד סקריפטים של מעטפת באמצעות הפקודה Terminal Terminal

הפקודה "סד" במערכות הפעלה חינמיות מסוג GNU / Linux זה פקודה מאוד תכליתית, שכן בתורו הוא נחשב לעורך טקסט המכוון ל"זרם "במקום ל"אינטראקטיבי" כטופיים, מכיוון שהוא מקבל קובץ או קלט סטנדרטי כקלט, ואז מעבד כל שורה והתוצאה נשלחת לפלט רגיל. זאת אומרת, SED (Stream EDitor) מאפשר לנו לשנות את תוכן השורות השונות של הקובץ על בסיס סדרת פקודות או קובץ פקודה.

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

מבוא לפקודת "sed"

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

בעיקרון הפקודה «sed» כוללת את התחביר הבא:

sed comandos_sed archivo

איפה "Command_sed" תואם מפרט אחד או יותר לגבי מה לעשות עם השורות שקוראים מהם "ארכיון".

שימוש נרחב יותר משאיר אותנו בתחביר הבא:

sed [-ns] '[direccion] instruccion argumentos'

Donde:

פורמט שימוש בפקודה SED

דוגמאות מעשיות

רשימת קבצים / תיקיות בנתיב

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

ls -l | awk '{ print $NF }' | sed 1d

לדוגמה:

דוגמה 1: פקודת SED - Scripting Shell

גרסה אחרת זו המשתמשת בפקודה "sed" שימושית מאוד:

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed 's/^\.\///g' | xargs -n 1 basename

דוגמה 4: פקודת SED עבור Scripting Shell

צור רצף מספרים

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

seq 100|tr '\n' ' '|sed 's, $,\n,g'

דוגמה 2: פקודת SED עבור Scripting Shell

את אותה הדוגמה ניתן לעשות על ידי שילוב הפקודה «צָמָא" עם "פרינטף" כפי שמוצג מטה:

printf '%s ' {1..100}|sed 's/ $/\n/'

דוגמה 3: פקודת SED עבור Scripting Shell

מחק קבצים עם אי הכללות

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

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed -e '/.*\.txt$/d' -e '/.*\.exe$/d' | xargs rm

דוגמה 5: פקודת SED עבור Shell_Scripting

צור כתובת MAC וירטואלית

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

MAC=`(date; cat /proc/interrupts) | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'` ; echo $MAC

את אותה השפעה ניתן להשיג באמצעות הפקודה "sed" בשילוב עם פקודות אחרות, כמוצג להלן:

openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
od -An -N10 -x /dev/random | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'
od /dev/urandom -w6 -tx1 -An|sed -e 's/ //' -e 's/ /:/g'|head -n 1

לדוגמה:

דוגמה 7: פקודת SED עבור Scripting Shell

שנה באופן זמני את הודעת המסוף

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

export PS1="C:\$( pwd | sed 's:/:\\\\\\:g' )\\> "

דוגמה 8. פקודת SED עבור Scripting Shell

נהל את הפלט של הפקודה "ps"

סדר פקודה מעשי מאוד המאפשר לעצב את פלט הפקודה «ps», כלומר, מה שמתקבל ממנהל תהליכי הטרמינל.

sudo ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed "/^ 0.0 /d"

לדוגמה:

דוגמה 9: פקודת SED עבור Scripting Shell

ניתן ליישם זאת לתהליכים על פי אחוז הזיכרון הנצרך:

sudo ps -e -o pmem,nice,state,cputime,args --sort pmem | sed "/^ 0.0 /d"

אני מקווה שהדוגמאות האלה של שורת הפקודה באמצעות הפקודה "sed" יהיו שימושיות מאוד. והם משמשים לשימוש ישירות מהקונסולה או בעקיפין על ידי הכנסתם לתסריט (משימה אוטומטית).

בפוסט הבא על Shell Scripting נחקור פקודות אחרות.

אם אתה רוצה ללמוד קצת יותר על הפקודה "sed" בקר בקישור הזה "מדריך וקצר מדריך ליוניקס וללינוקס"אוֹ"שימוש בסיסי»ואם אתה רוצה ללמוד עוד על Shell Scripting בבלוג שלנו, תוכלו להציץ בפרסומים האחרים שלנו בנושא, על ידי לחיצה כאן: תסריט DesdeLinux.


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

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

*

*

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