【发布时间】:2014-10-28 05:15:44
【问题描述】:
我有一个文件.. 它有很多行,但相关的可能看起来像:
<name></name>
<name>LED_1</name>
<name>Action Button_8</name>
<name>Action Button_1</name>
<name>LED_1</name>
<name>Label_59</name>
<name>Label_83</name>
需要编辑这些名称以在运行时使用索引集,而我想在此处设置的另一个名称可以很好地保持它们的小部件类型(标签、LED 等)完好无损。任何文件中只有 3-7 行带有 /name> 的行,所以我不介意更改一个行来分别修复包含我的文件的文件夹中的每个事件。
我试过了:
sed -i 's/_.*<\/name>/_${DINDEX}_1<\/name>/2'
但我认为它希望替换每一行中的第二个出现,而不是文件中的第二个。 任何和所有的帮助表示赞赏!谢谢!
编辑: 想要的结果
<name></name>
<name>LED_${DINDEX}_1</name>
<name>Action Button_${DINDEX}_2</name>
<name>Action Button_${DINDEX}_3</name>
<name>LED_${DINDEX}_4</name>
<name>Label_${DINDEX}_5</name>
<name>Label_${DINDEX}_6</name>
【问题讨论】:
-
这些行都来自一个文件吗?你想把这行翻译成什么?
-
是的,它们都来自一个文件。我想在 _ 之前保留他们的名字。并替换他们必须说的任何数字 ${DINDEX}_0 用于第一次出现, ${DINDEX}_1 用于第二次出现等。我已经编辑了我的初始问题作为示例。 @EtanReisner