特殊文字を含む複数のファイルの複雑なテキスト文字列を置き換える

特殊文字を含む複数のファイルの複雑なテキスト文字列を置き換える

ディレクトリ内の複数のファイルの複雑な文字列を置き換える必要があります。

置き換える必要がある文字列は次のとおりです。

data:image/png;base64,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

そして:./logo.jpg

置き換える必要がある文字列のさまざまな特殊文字が原因で、置換を実行するためにsedを使用する際にさまざまな問題があります。

ベストアンサー1

正規表現はどうですか?

sed -r -i 's/(data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQoAAAAkCAAAAABUcSvnAAAHbklEQVRo3u2Ya0xURxTHR9Yt6CJdLSU0hFoxPhIS41ujDex).*(HHAAAAAElFTkSuQmCC)/.\/logo.jpg/g' filename

文字列の始まりと終わりを見つけて.\/logo.jpginに置き換えますfilename

-iファイル名の内容を変更するために使用されます。

おすすめ記事