正規表現と固定セクションを使用したSed

正規表現と固定セクションを使用したSed

ファイルがあります。

<vcell i="2" v="2" s="0" m="0"/>
<cell i="3" v="3187"/>
<cell i="4" v="1"/>
<cell i="5" v="17"/>
<cell i="6" v="0"/>
<cell i="7" v="2"/>
<cell i="8" v="17"/>
<cell i="9" v="0 / 13"/>

交換する必要があります

<vcelli2 v="2" s="0" m="0"/>
<celli3 v="3187"/>
<celli4 v="1"/>
<celli5 v="17"/>
<celli6 v="0"/>
<celli7 v="2"/>
<celli8 v="17"/>
<celli9 v="0 / 13"/>

sedと正規表現を使用してこれを実行できますか?

ベストアンサー1

はい、sedコマンドを使用して実行できます。

ファイルを変更する前にファイルをバックアップすることを忘れないでください。結果が正しいことを確認したら、バックアップを削除するか、後で使用できるようにアーカイブできます。

sedコマンドは次のとおりです。

sed -i.backup -E 's/ i="([0-9]*)"/i\1/g' file

これを行う必要があります(これを行うと、元のファイルが自動的にバックアップされ、backup手動で実行した場合はその部分が削除されます)。

この-iフラグ(すべてのタイプでは使用できませんsed)は現在の場所(つまり、元のファイルに再保存し、拡張子を使用して元のファイルのコピーを保持する)を.backup示し-E(拡張正規表現)、括弧をエスケープするのを防ぐために使用されます。

おすすめ記事