将变量传递给sed c \ block

时间:2017-12-10 23:56:31

标签: regex sed

是否可以将sed脚本的匹配部分之间的变量传递到我用来替换"更改"的文本中。命令c /?

:t
$!{
    /OBJECT/,/\<End\>/ {
        /\<End\>/!{
            N;
            bt
        }
    }
    /Num\s*\(\-\?[0-9]\)\+\nID\s*\([0-9]\)\nName\s*Old Name~/ c\
OBJECT\
Num            \1\
ID             \2\
Name           New Name~\
End
}

我用:

执行此文件
sed -i -f name.sed OldNames.txt

原始文件中的数据格式为:

OBJECT
Num       0
ID        1
Name      Name1
End

OBJECT
Num       1
ID        2
Name      Name2
End

正则表达式匹配工作正常,但我想取变量\ 1和\ 2并在更改块中使用它们。现在我只是得到实际输出&#34; \ 1&#34;和&#34; \ 2&#34;在那里我使用了那些参考文献。

0 个答案:

没有答案