Bash Tips
פקודת sed להשתמש ב ! במקום \ פקודה מוכרת בעולם הלינוקס היא sed פקודה שמאפשרת לבצע מניפולציות על טקסט מבלי לפתוח עורך טקסט הקובץ שלי מכיל את הטקסט הפשוט הבא $ cat test.txt my path is /tmp/test/hello שימוש בsed מאפשר להחליף טקסט קיים בקובץ ולשמור אותו.…
רמת קושי: #advanced
עברה תקופה למדנו החכמנו, קבלו שיפור לטיפ
ראינו בעבר שניתן להגדיר
חביב לא? רגע זה לא הדבר הכי משוגע שראיתם
כמובן שאם התו שאיתו בחרתי לעבוד קיים כחלק מהטקסט אצטרך להחריג אותו עם \ כמו כל משפט sed רגיל
פקודת sed מחפשת מהו התו שאחרי ה s ומחליטה להשתמש בו כחוצץ, במידה ואין הצהרה התחלתית במשפט ב sed איזה תהליך הוא הולך לבצע (delete למשל) צריך להחריג את התו הראשון כדי להסביר לsed שהוא נבחר להיות ה delimiter
#bre
עברה תקופה למדנו החכמנו, קבלו שיפור לטיפ
ראינו בעבר שניתן להגדיר
!
כ delimiter, הטיפ הבא מדבר על כך שכמעט כל תו חוץ מסלאש הפוך יוכל להיות delimiter, זה נראה כך$ echo sed is cool | sed 's|cool|great|g'
sed is great
$ echo sed is cool | sed 's#cool#great#g'
sed is great
$ echo sed is cool | sed 's_cool_great_g'
sed is great
$ echo sed is cool | sed 's^cool^great^g'
sed is great
טוב אני מניח שהבנתם את הרעיוןחביב לא? רגע זה לא הדבר הכי משוגע שראיתם
$ echo sed is cool | sed 'swcoolwgreatwg'
sed is great
כשאומרים כל תו הכוונה גם לאותיות, במקרה לעיל השתמשנו ב w בתור חוצץ.כמובן שאם התו שאיתו בחרתי לעבוד קיים כחלק מהטקסט אצטרך להחריג אותו עם \ כמו כל משפט sed רגיל
$ echo sed is cool | sed 'slcoo\llgreatlg'
sed is great
איך זה עובד?פקודת sed מחפשת מהו התו שאחרי ה s ומחליטה להשתמש בו כחוצץ, במידה ואין הצהרה התחלתית במשפט ב sed איזה תהליך הוא הולך לבצע (delete למשל) צריך להחריג את התו הראשון כדי להסביר לsed שהוא נבחר להיות ה delimiter
$ echo sed is not cool | sed '\|not|d'
#sed#bre
@bash_tips