Мне было любопытно узнать, есть ли лучший способ sed
двух слов и добавить строку до и после них.
Я узнал, как из Гримуар , но я хотел знать, есть ли лучший способ сделать:
#!/bin/sh
sed '
/foo/,/bar/ {
i\
Add this line before
a\
Add this line after
}'
Что я пытаюсь сделать, это найти два слова в одной строке, в этом случае foo
и bar
, а затем добавьте что-нибудь в строку до и в строку после.
Если нет особых проблем или не по теме, можно ли порекомендовать в комментариях несколько других сайтов для чтения на sed
, кроме гримуара?
awk проще, IMO
awk '
/foo/ && /bar/ {
print "Add this line before"
print
print "Add this line after"
next
}
{print}
' file