סד
מייצג עורך זרם. זהו עורך מבוסס שורת פקודה עבור לינוקס. השימוש הפופולרי ב-sed נועד לעריכת קבצים כחלק מסקריפט אוטומציה בלינוקס, כרגיל עורכים דורשים קלט משתמש פעיל ואינם יכולים לערוך קבצים מחוץ למסכי העורך. Sed משמש לרוב לביצוע חיפוש והחלפה משורת הפקודה.
סוג זה של עורך טקסט יכול להיות מסווג גם כעורך טקסט לא אינטראקטיבי.
תן לנו לראות כמה אפשרויות נפוצות לעריכת קבצים באמצעות Sed. ניקח את הקובץ הבא כדוגמה:
$: cat test.txt כלב חום מהיר קפץ מעל החתול העצלן. מערכת הפעלה לינוקס. ביער הקרוב למקום שלי יש חתול וגם זאבים.
חפש והחלף
כדי לחפש מחרוזת בקובץ ולהחליף במחרוזת אחרת, הרץ:
sed -i "s/cat/fox/g" test.txt
הנה ה -אני
flag מורה ל-sed לכתוב את השינויים בקובץ. בלי הדגל הזה, sed
רק יציג את הקובץ עם המחרוזת שהשתנתה.
במרכאות, יש לנו s/cat/fox/g
. ה ס
מיועד לפיקוד החיפוש והחלפה של sed
. אז יש לנו את המחרוזת שיש לחפש, כלומר חתול
. ואז המחרוזת שבה תחליף אותה, כלומר, שׁוּעָל
. לבסוף, יש לנו את האופציונלי ז
, אשר מורה sed
כדי להחליף את כל המופעים בכל שורות הקובץ. בלי ה ז
, sed יחליף רק את המופע הראשון של חתול
על כל שורה.
ניתן להשתמש גם כאן ב-Regex.
sed -i "s/f[a-z]*\./cat\./g"
לְהַכנִיס
כדי להוסיף טקסט לפני שורה עם מחרוזת תואמת, השתמש ב:
sed -i "/cat/i Start:" test.txt
כאן, חתול
היא מחרוזת החיפוש ו הַתחָלָה:
היא המחרוזת שיש להזין לפני השורה שבה נמצא המחרוזת המבוקשת.
באופן דומה, כדי להוסיף טקסט אחרי שורה, השתמש ב:
sed -i "/fox/a End." test.txt
לִמְחוֹק
כדי למחוק שורה המכילה מחרוזת משנה, השתמש ב:
sed -i "/Linux/d" test.txt
כדי למחוק שורה עם מספר שורה, למשל. בשורה הראשונה, השתמש ב:
sed -i '1d' test.txt
שילוב של מספר פונקציות
כדי לשלב מספר פונקציות, למשל. חפש והחלף, מחק, בפקודה אחת, -ה
ניתן להשתמש בדגל.
sed -i -e "s/fox/cat/g" -e '2d' test.txt
? לחיים!