バイナリファイルで2バイトのUnicodeを置き換えるシェルスクリプト/ユーティリティ

バイナリファイルで2バイトのUnicodeを置き換えるシェルスクリプト/ユーティリティ

大容量のUnicodeファイルがたくさんあります。各Unicodeバイトペアを新しいUnicodeバイトペアに置き換えたいと思います。たとえば、元のファイルに「C3 B9 C3 AB C3 B8 C3 B0」が含まれています。これを「D7 A0 D7 A8 D7 9B D7 A9」に置き換えたいと思います。ファイル全体では、すべての「C3 B9」を「D7 A0」に置き換える必要があります。 「D7 YY」の値に置き換えられた約30の「C3 XX」の値があります。各置換を繰り返すテーブルが必要です。

理想的には元のファイルを置き換えますが、新しい出力ファイルを作成することもできます。

そのタスクを実行できるUbuntuで実行されるユーティリティはありますか?

ベストアンサー1

Perlを使用すると、これを行うことができます。

サンプルファイル:

echo -e "\xe8\x90" > a

今これを行う:

perl -pne 's/\xe8\x90/\x41\x42/g' < a > output

あなたは得ます0x41 0x42、つまりAB

おすすめ記事