如何将两个单词合并到一行并添加前后内容?

如何将两个单词合并到一行并添加前后内容?

我很好奇,想知道是否有更好的方法来表达sed两个单词并在它们前后添加一行。

我学会了如何格莱莫尔但我想知道是否有更好的方法:

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

我尝试做的是在一行中找到两个单词,在本例中是foobar,然后在前一行和后一行添加一些内容。

如果不太麻烦或离题的话,有人可以在评论中推荐一些sed除了 grymoire 之外的其他阅读网站吗?

答案1

awk 更简单,我认为

awk '
    /foo/ && /bar/ {
        print "Add this line before"
        print
        print "Add this line after"
        next
    }
    {print}
' file

相关内容