我有多个文件,如下所示
module (
input a;
output b;
);
xx inst_xx (
.in (xxin),
.ou (xxou)
);
assign a = b;
endmodule
我想在第一次出现);
模式
`include "defines.vh"
所以最后看起来应该是
module (
input a;
output b;
);
`include "defines.vh"
xx inst_xx (
.in (xxin),
.ou (xxou)
);
assign a = b;
endmodule
使用sed
或awk
的任何内容都会有用。
答案 0 :(得分:1)
$ awk '{ print } !flag && /);/ { print "`include \"defines.vh\""; flag = 1 }' file
module (
input a;
output b;
);
`include "defines.vh"
xx inst_xx (
.in (xxin),
.ou (xxou)
);
assign a = b;
endmodule
答案 1 :(得分:1)
这可能适合你(GNU sed):
sed $'/);/{a`include "defines.vh"\n;:a;n;ba}' file
或:
sed -e '/);/{a`include "defines.vh"' -e ':a;n;ba}' file
这匹配第一个);
并附加所需的字符串然后读取并打印n
命令上循环的文件的其余部分。