我有一个spring.xml,我想要注释掉一个拦截器,我应该使用什么shell脚本来注释掉这个配置?换句话说,我应该如何在特定行之前添加一行,例如第70行。谢谢!
70 <mvc:interceptor>
71 <mvc:mapping path="/openapi/**"/>
72 <bean parent="paramsEncryptInterceptor"/>
73 </mvc:interceptor>
70 <!--
71 <mvc:interceptor>
72 <mvc:mapping path="/openapi/**"/>
73 <bean parent="paramsEncryptInterceptor"/>
74 </mvc:interceptor>
75 -->
解决方案 我通过将注释字符串插入特定的行来完成,如bellow:
sed -i '70i<!--' spring.xml
sed -i '75i-->' spring.xml
谢谢!
答案 0 :(得分:0)
这对你有用吗?
sed 's/\(<mvc:interceptor\)/<!--\n\1/;s|\(</mvc:interceptor>\)|\1\n-->|' yourfile.xml
答案 1 :(得分:0)
我建议你试试Vim编辑器
vi yourfile.xml
答案 2 :(得分:0)
您可以在没有反向引用的情况下尝试以下操作:
$ sed -e '/<mvc:interceptor>/s/^/<!--\n/' \
-e '/<\/mvc:interceptor>/s/$/\n-->/' filename
示例输入
$ cat dat/stuff.txt
<mvc:interceptor>
<mvc:mapping path="/openapi/**"/>
<bean parent="paramsEncryptInterceptor"/>
</mvc:interceptor>
示例使用/输出
$ sed -e '/<mvc:interceptor>/s/^/<!--\n/' \
-e '/<\/mvc:interceptor>/s/$/\n-->/' dat/stuff.txt
<!--
<mvc:interceptor>
<mvc:mapping path="/openapi/**"/>
<bean parent="paramsEncryptInterceptor"/>
</mvc:interceptor>
-->