Bash:
חיפוש והחלפת טקסט
איך לעשות:
# חיפוש והחלפה בקובץ באמצעות sed:
sed -i 's/old_text/new_text/g' filename.txt
# דוגמא לקלט:
echo "Welcome to Bash programming!" > welcome.txt
sed -i 's/Bash/Shell/g' welcome.txt
cat welcome.txt
# דוגמא לפלט:
Shell programming!
עיון מעמיק
החלפת טקסט היא אחת מהפעולות הבסיסיות בעיבוד טקסטים שרצה כבר מימי UNIX הראשונים. הכלי sed
(stream editor) משמש לעיבוד טקסט בזרימה והוא נשאר בשימוש נרחב עד היום. ישנם חלופות כמו awk
, המתמחה גם בעיבוד שורות ועמודות, וכלים מודרניים כמו perl
וpython
, אשר מספקים יכולות מתקדמות יותר לביטויים רגולריים ועיבוד טקסט. בנוגע להחלפה עצמה, הפקודה s/old_text/new_text/g
שבדוגמה מבצעת חיפוש אחר הביטוי “old_text” והחלפתו ב"new_text", כאשר הדגל g
מציין החלפה גלובלית בכל המופעים בטקסט ולא רק בראשון שנמצא.
ראו גם:
- GNU sed manual - מדריך ל-kn
sed
- Regular Expressions Info - משאב ללמידת ביטויים רגולריים
- AWK User’s Guide - מדריך למשתמש של
awk