この質問は数回前に私に来ましたが、今では質問/programming/993434/what-language-is-to-binary にあるBash Answersのstdinからのバイナリデータチャンクをループする質問に 答えて-as-perl-is-to-textも満足のいくものではありませんでした。
バイナリファイルでのI / Oの処理に特に適したスクリプト環境を探しています。本格的なプログラミング言語(c / Python / ...)のいずれかを使用できることは知っていますが、それらには膨大な初期化とコーディングのオーバーヘッド(cの割り当てとfread / fwrite、Pythonのビット文字列など)がありますスクリプト(スクリプトから他のアプリケーションを呼び出す)にはあまり適していません。Perlは、そのunpack
機能、文字列指向の操作、および間抜けな構文で優れています。
のようなものod
ですが、言語として。
私が期待するもの:
- 単一のスイッチ/コマンドでエンディアンを設定または変更します。
- 要求されたタイプの単純な仕様(bash
read var
をint32 var
で 拡張するfloat var
など)。 - パイプを介したバイナリの処理、指定されたバイト数のスキップ。
- 慣れている標準のスクリプトフロー制御(for / if / ...)。
ASCIIファイルを検査するときに得られるのと同じ簡単さと洞察で、生データ(写真、科学データ、未知の、不十分な文書形式)を処理したいと思います。c
現在使用していますが、アドホックスクリプトには最適ではなく、インタラクティブにすることはできません。
誰もがそのようなツールを知っていますか?かわいらしいGUIソフトウェアはありません。sshを介して、他のスクリプトなどから動作する必要があります。「存在しません」は受け入れられますが、憂鬱な答えです。
perl
さんunpack
(ᵔᴥᵔ)
chain = ls["-a"] | grep["-v", "\\.py"] | wc["-l"]; chain()
ました。