【发布时间】:2011-03-28 08:33:17
【问题描述】:
我有以下文件:(example.txt 显示出来)
我需要编辑文件,主要问题是在文件的两个已知行之间附加文本
first_line=")"
second_line="NIC Hr_Nic ("
例如
需要添加以下内容:
haattr -add RVG StorageRVG -string
haattr -add RVG StorageDG -string
haattr -add RVG StorageHostIds -string
haattr -delete RVG Primary
haattr -delete RVG SRL
haattr -delete RVG RLinks
之间
第一个匹配行“)”
还有
第二个匹配行“NIC Hr_Nic(”
如 example.txt 文件中所述
如何通过 sed 来做到这一点...(如果 sed 很难,perl 也可以)
remark(sed需要得到两个参数 第一个参数是第一个匹配行(first_line arg) 第二个参数是第二个匹配线(second_line arg)
example.txt 文件:
group Hr_Grp (
SystemList = { london1 = 0, london2 = 1 }
AutoStartList = { london1, london2 }
)
NIC Hr_Nic (
Device = qfe0
)
IP Hr_Ip(
Device = qfe0
Address = "1.1.1.1" // Virtual IP
)
DiskGroup Hr_Dg(
DiskGroup = hrdg
)
RVG Hr_Rvg (
RVG = hr_rvg
DiskGroup = hrdg
)
Hr_Rvg requires Hr_Dg
Hr_Rvg requires Hr_Ip
Hr_Ip requires Hr_Nic
sed 编辑后的文件示例:
group Hr_Grp (
SystemList = { london1 = 0, london2 = 1 }
AutoStartList = { london1, london2 }
)
haattr -add RVG StorageRVG -string
haattr -add RVG StorageDG -string
haattr -add RVG StorageHostIds -string
haattr -delete RVG Primary
haattr -delete RVG SRL
haattr -delete RVG RLinks
NIC Hr_Nic (
Device = qfe0
)
IP Hr_Ip(
Device = qfe0
Address = "1.1.1.1" // Virtual IP
)
DiskGroup Hr_Dg(
DiskGroup = hrdg
)
RVG Hr_Rvg (
RVG = hr_rvg
DiskGroup = hrdg
)
Hr_Rvg requires Hr_Dg
Hr_Rvg requires Hr_Ip
Hr_Ip requires Hr_Nic
【问题讨论】:
-
那么问题是什么?还是您希望我们为您编写代码?到目前为止你有什么?
-
主要目标是用sed或perl在两行之间追加文本?
-
我知道如何在行前或行后附加测试但我不知道如何在两个匹配的行之间附加文本-:(
-
这里的例子只是为了解决我的问题
标签: sed