【发布时间】:2020-10-06 21:03:39
【问题描述】:
初始文件:
BEGIN SUBRECORD
Name "New_value"
Prompt "New_value"
Default "$PROJDEF"
ListValues "$PROJDEF\(9)Overwrite"
END SUBRECORD
MetaBag "CMetaProperty"
............
................
.................
MetaBag "CMetaProperty"
.................
.............
............
MetaBag "CMetaProperty"
预期输出:我想在字符串MetaBag "CMetaProperty" 第一次出现之前添加新行并且有:
BEGIN SUBRECORD
Name "New_value"
Prompt "New_value"
Default "$PROJDEF"
ListValues "$PROJDEF\(9)Overwrite"
END SUBRECORD
BEGIN SUBRECORD
Name "Variable"
Prompt "Variable"
Default "$PROJDEF"
ListValues "$PROJDEF\(9)Overwrite"
END SUBRECORD
MetaBag "CMetaProperty"
............
................
.................
MetaBag "CMetaProperty"
.................
.............
............
MetaBag "CMetaProperty"
我尝试使用 sed 命令,但在所有出现之前插入新行 我的选项字符串的 s。
sed '/MetaBag "CMetaProperty"/ i BEGIN SUBRECORD\n Name "Variable"\n Prompt "Variable"\n Default "$PROJDEF"\n ListValues "$PROJDEF\(9)Overwrite"\n END SUBRECORD' infile.txt
如何修改命令?
【问题讨论】: