2つの特定の文字列間のテキストを置き換える

2つの特定の文字列間のテキストを置き換える

廃止予定のCSS値「hspace」を含むファイルがたくさんありますが、それを別のCSSスタイル値に変更したいと思います。たとえば、次のようになります。

hspace='5'

私達は次を変えたいと思います:

style="margin: 0 5px;"

各ファイルには内部に異なる値があり、hspace1つは hspace='5'異なる値にすることができますhspace='2'hspace='7'

私が望むのは、特定のディレクトリ内のすべてのファイルを見つけることです。

hspace='ANY NUMBER'

次に交換してください:

style="margin: 0 5px;"

bash centosオペレーティングシステムでこれを行う方法に関する提案はありますか?

ベストアンサー1

このコマンドを使用して置き換えることができます(sedGNUがCentOSにあると仮定)。

sed -i "s/hspace='\([0-9]*\)'/style=\"margin: 0 \1px;\"/g" filename.html

すべての.htmlファイルを置き換えるには:

find . -type f -name '*.html' -exec sed -i "s/hspace='\([0-9]*\)'/style=\"margin: 0 \1px;\"/g" {} +

おすすめ記事