0

交換しようとしています

</url></loc>

</loc></url>

私のすべてのファイルにありますが、何も機能していないようです。コマンドライン、perl などでこれを行う方法はありますか? どんな助けでも大歓迎です。

4

4 に答える 4

4

の多くのバージョンは をsed認識しないことに注意してください-i。しかし、perl でもまったく同じことができます。

find . -exec perl -i -pe 's|(</url>)(</loc>)|$2$1|g' {} \;

Perl には sed よりも大きな利点があります。これは、これを拡張して、複数の行にまたがる 2 つのタグの出現を含めることがはるかに簡単になるという点です。

perl -0777 -i -pe 's|(</url>)(\s*)(</loc>)|$3$2$1|g' 
于 2013-02-24T15:05:28.193 に答える
3

チェックアウトsed:

sed -i 's|</url></loc>|</loc></url>|g' <filenames>
于 2013-02-24T14:48:49.017 に答える
1

sed を使用します。

sed -i 's/<\/url><\/loc>/<\/loc><\/url>/g' yourfiles.*

他のタグを置き換えるには:

sed -E -i 's/<\/(url|what|ever)><\/(loc|any|other)>/<\/\2><\/\1>/g' yourfiles.*
于 2013-02-24T14:48:55.603 に答える
0
find . -type f -name "yourname*" -exec sed -i 's/<\/url><\/loc>/<\/loc><\/url>/g' '{}' ';'
于 2013-02-24T17:53:01.170 に答える