|
在 sed 中使用大括号 '{ }' 可以在相同的地址上(或相同的行上),或在一个地址嵌套在另一个地址中应用多个命令。
所谓嵌套地址是指,如果指定了行的范围,然后再在这个范围内指定另一行,这个行(地址)就是嵌套行(嵌套地址)。
有一个文本如下:
$ cat china.txt
hello world
spring
red wind
.Blood
effect
something
good
great
.CHINA
are you ok?
下面使用大括号 { } 应用地址分组找出 .Blood 和 .CHINA 之间的行,然后删掉其中的空格行,并将 "oo" 换成大写的 "OO" 。
sed 命令如下应用:
$ sed '/^\.Bl/, /^\.CH/ {
/^$/d; s/oo/OO/g;
}' china.txt
hello world
spring
red wind
.BlOOd
effect
something
gOOd
great
.CHINA
are you ok?
上面 sed 命令应用中, /^\.Bl/, /^\.CH/ 表示查找出匹配 .Blood 和 .CHINA 之间的行,然后紧跟着写左大括号,并在括号内应用了两条命令,第 1 条用于删除空格行,第 2 条将 oo 替换为 OO ,最后不忘将右括号写回。 |
|