我有以下一行:
set_property LOC DSP48E2_X0Y0 [get_cells{name[0].dut/mm1/dsp_chain[0].dsp_inst}];
我想将DSP48E2_X0Y{number}
替换为DSP48E2_X0Y{number+5}
我在堆栈溢出时跟踪了一个线程,并尝试使用awk命令:
echo "set_property LOC DSP48E2_X0Y0 [get_cells {name[0].dut/mm1/dsp_chain[0].dsp_inst}];" | awk `{ printf "%s %s %s_X%dY%d", $1, $2, $3, $4, $5+5}`
但我遇到错误:
bad math expression: operand expected at `,'
答案 0 :(得分:3)
要回答标题中的问题:是的,只需使用\=
开始替换。
就您而言,
:s/DSP48E2_X0Y\zs\d\+/\=submatch(0)+5/
会这样做。
(不知道所有awk的内容是什么。)