sed を使用してファイル全体の""を"0x02"に置き換えます。

sed を使用してファイル全体の""を"0x02"に置き換えます。

usingをすべて&#x2に置き換える必要があります。次の内容は有効ですか、それとも使用する必要がありますか?0x02sed\

sed -i -E "s/<&#x2>/<0x02>/g" $output_file

では、どうすればよいですか?

答え1

&#x2文字列がコマンドのパターン部分で文字通り解釈されるように文字列にエスケープする必要がある特殊文字はありません。s///sed

また、代替文字列には特別な処理が必要な特殊文字はありません0x02(GNUを使用している場合、代替文字列の特殊文字は&特殊文字などになります)。\1\2\n\tsed

これはあなたができることを意味します

sed 's/&#x2/0x02/g' inputfile >outputfile

特別な処理が必要な唯一の方法は、部分&#x2文字列の置換を避けることです。たとえば、&#x23質問にサンプル文書が表示されないため、これが問題になるかどうかを防ぐための最善の方法を正確に伝えることはできません。

一般的に言えば、いいえ誤ってデータが失われるのを防ぐために編集式またはスクリプトを使用できることがわかるまで、-iwithオプションを使用してください。ここでも拡張正規表現をまったく扱っていないので、ここでもそうする必要はありません。sedsed-E

sed名前が変数に格納されているファイルに対してコマンドを実行する場合は、その変数の拡張子を二重引用符で囲む必要があります(参照:スペースやその他の特殊文字が原因でシェルスクリプトが停止するのはなぜですか?)。

関連情報