2016-04-26 19 views
0

私はspring.xmlをhavaしています。私は1つのインターセプタをコメントアウトしたいのですが、どのシェルスクリプトを使ってこの設定をコメントアウトする必要がありますか?言い換えれば、特定の行の前に1行追加する必要があります(たとえば70行目)。ありがとう!どのように春のXMLをコメントアウトするには、Linuxシェルをユーザーに?

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   --> 

ソリューション 私は怒鳴るような特定の行にコメント文字列を挿入して成し遂げる:

sed -i '70i<!--' spring.xml 
sed -i '75i-->' spring.xml 

ありがとう!

+0

。 – leo

答えて

0

yourfile.xml:

$ sed -e '/<mvc:interceptor>/s/^/<!--\n/' \ 
-e '/<\/mvc:interceptor>/s/$/\n-->/' filename 

例入力

行を挿入し、それがこの方法をコメントアウト取得するには - "spring.xmlのsed -i '!70I <'" 私が使用しています
$ 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> 
--> 
0

これはあなたのために機能しますか?

sed 's/\(<mvc:interceptor\)/<!--\n\1/;s|\(</mvc:interceptor>\)|\1\n-->|' yourfile.xml 
0

は、私はあなたがVimのエディタを試してみることをお勧め

viのあなたは後方参照せずに次のことを試みることができる

関連する問題