忘れやすいので、備忘として残しておく。 sedで行範囲(n~m行)とパターン(指定した文字列を含むか否か)を同時に満たしている行に対してのみ処理を行いたい場合、以下の様にする。

sed 'n,m{/pattern/s/Before/After/g}'

[root@BS-PUB-CENT7-01 ~]# echo {a..e}{01..10} | xargs -n5 | cat -n
     1  a01 a02 a03 a04 a05
     2  a06 a07 a08 a09 a10
     3  b01 b02 b03 b04 b05
     4  b06 b07 b08 b09 b10
     5  c01 c02 c03 c04 c05
     6  c06 c07 c08 c09 c10
     7  d01 d02 d03 d04 d05
     8  d06 d07 d08 d09 d10
     9  e01 e02 e03 e04 e05
    10  e06 e07 e08 e09 e10
[root@BS-PUB-CENT7-01 ~]# echo {a..e}{01..10} | xargs -n5 | cat -n | sed '3,8{/01/s/0/X/g}'
     1  a01 a02 a03 a04 a05
     2  a06 a07 a08 a09 a10
     3  bX1 bX2 bX3 bX4 bX5
     4  b06 b07 b08 b09 b10
     5  cX1 cX2 cX3 cX4 cX5
     6  c06 c07 c08 c09 c10
     7  dX1 dX2 dX3 dX4 dX5
     8  d06 d07 d08 d09 d10
     9  e01 e02 e03 e04 e05
    10  e06 e07 e08 e09 e10