【发布时间】:2017-07-06 18:08:07
【问题描述】:
如何使用 shell 脚本将多个文件中的“if”替换为“abc if”。但是我不想改变 if 之前的 else 吗?
例如:
if (var3 == 4'h0)
a = bvec[0];
else
if (var3 == 4'h1)
a = bvec[1];
应该转换成
abc if (var3 == 4'h0)
a = bvec[0];
else
if (var3 == 4'h1)
a = bvec[1];
请注意: 1.else和if之间可以有不定的空格或者换行。 2.文件中还有更多代码 3. 我希望更改只发生在同一个文件中。 4. 我想将文件名列表传递给脚本
我试过了:
sed -r 's/else[[:blank:]]if/temp1/g;s/if/abc if/g;s/temp1/else if/g' file.v
【问题讨论】:
-
中间可以换行吗?
-
可以有更长的代码,例如
{ ...; ...; ...;}? -
好吧,那么你对你的问题的尝试是什么?
-
“我想做X”不是问题。