Как уложить два слова в строку и добавить до и после?

Мне было любопытно узнать, есть ли лучший способ sed двух слов и добавить строку до и после них.

Я узнал, как из Гримуар , но я хотел знать, есть ли лучший способ сделать:

#!/bin/sh
sed '
/foo/,/bar/ {
i\
Add this line before
a\
Add this line after
}'

Что я пытаюсь сделать, это найти два слова в одной строке, в этом случае foo и bar, а затем добавьте что-нибудь в строку до и в строку после.

Если нет особых проблем или не по теме, можно ли порекомендовать в комментариях несколько других сайтов для чтения на sed, кроме гримуара?

1
задан 18 December 2013 в 21:22

1 ответ

awk проще, IMO

awk '
    /foo/ && /bar/ {
        print "Add this line before"
        print
        print "Add this line after"
        next
    }
    {print}
' file
0
ответ дан 18 December 2013 в 21:22

Другие вопросы по тегам:

Похожие вопросы: