在 sed 中使用正则表达式移动字符串的部分

在 sed 中使用正则表达式移动字符串的部分

我正在尝试更换,

input.output.roomMAX[0]        to   input.output.room[0].MAX
input.output.roomMAX[1]        to   input.output.room[1].MAX
input.output.roomMIN[variable] to   input.output.room[variables].MIN

我不知道如何匹配事物并在替换中引用它们。我该给出什么论点sed

答案1

sed 's/room\(MAX\|MIN\)\(\[[^]]*\]\)/room\2.\1/' inputfile

如果要将“变量”更改为“变量”,请添加另一条指令:

sed 's/room\(MAX\|MIN\)\(\[[^]]*\]\)/room\2.\1/;s/variable/variables/' inputfile

相关内容