我正在尝试在两个字符串之间的段落中提取一些文本,这些字符串保存在变量中。 以下方式出了什么问题?
module dft ( a, b, c, clk, z, test_si, test_se );
input [7:0] a;
dft_DW_mult_uns_1 mult_31 ( .a(a), .b(b), .product(reg0) );
endmodule
input [7:0] a;
dft_DW_mult_uns_1 mult_31 ( .a(a), .b(b), .product(reg0) );
使用以下代码:
try="module dft";
awk '/$try/{flag=1; next} /endmodule/{flag=0} flag' dft_syn.v
但它无法识别$ try变量。
答案 0 :(得分:2)
您可以像这样使用awk
:
sm="module dft"
em="endmodule"
awk -v sm="$sm" -v em="$em" '$0 ~ em{p=0} p; $0 ~ sm{p=1}' file
...哪个属性作为输出发出:
input [7:0] a;
dft_DW_mult_uns_1 mult_31 ( .a(a), .b(b), .product(reg0) );
-v var="value"
将命令行变量从shell传递到awk
p