交換しようとしています
</url></loc>
と
</loc></url>
私のすべてのファイルにありますが、何も機能していないようです。コマンドライン、perl などでこれを行う方法はありますか? どんな助けでも大歓迎です。
交換しようとしています
</url></loc>
と
</loc></url>
私のすべてのファイルにありますが、何も機能していないようです。コマンドライン、perl などでこれを行う方法はありますか? どんな助けでも大歓迎です。
の多くのバージョンは を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'
チェックアウトsed
:
sed -i 's|</url></loc>|</loc></url>|g' <filenames>
sed を使用します。
sed -i 's/<\/url><\/loc>/<\/loc><\/url>/g' yourfiles.*
他のタグを置き換えるには:
sed -E -i 's/<\/(url|what|ever)><\/(loc|any|other)>/<\/\2><\/\1>/g' yourfiles.*
find . -type f -name "yourname*" -exec sed -i 's/<\/url><\/loc>/<\/loc><\/url>/g' '{}' ';'