sed
私はこれを行うことができるかどうかを調べようとしましたが、見つかりませんでしたtr
。
すべてのバイトに上位ビットが設定されている古いApple IIのファイルがたくさんあります。 Macでは、これにより横説説が発生します。もちろん、80ドルで各バイトをXORするプログラムを書くことができますが、UNIXでこれを行う方法があるべきだと思いました!
どんなアイデアがありますか?
答え1
bbe
「sedに似たバイナリファイルエディタ」です。 Debian ではbbe
パッケージに含まれています。 Macで簡単に利用できるかどうかはわかりません。
0x7f
これは、入力の各バイトに対してバイナリANDを実行します。
bbe -e '& \x7f'
使用例:
<input_file bbe -e '& \x7f' >output_file
答え2
Perlが救出に来る!
perl -wpe '$_ &= "\x7f" x length' < file
ファイルを1行ずつ処理するには(ファイルが大きすぎてメモリーに収まらない場合)、16進行区切り文字を指定します。
perl -0x8d ...
(Apple IIでは、0x0dが改行文字であるかどうかわからないので、必要に応じて値を修正してください。)