如何替换两点之间的所有行,并用sed中的一些文本替换它

时间:2011-03-03 09:29:29

标签: linux sed

假设我有这样的文字:

BEGIN
hello
world
how
are
you
END

如何使用linux中的sed命令将其转换为波纹管文本:

BEGIN
fine, thanks
END

2 个答案:

答案 0 :(得分:21)

$ cat file
BEGIN
hello
world
how
are
you
END

$ sed -e '/BEGIN/,/END/c\BEGIN\nfine, thanks\nEND' file
BEGIN
fine, thanks
END

/BEGIN/,/END/选择以BEGIN开头并以END结尾的文字范围。然后使用c\命令将所选范围替换为BEGIN\nfine, thanks\nEND

答案 1 :(得分:0)

sed -e 's/BEGIN hello world how are you END/BEGIN fine, thanks END/g'