移植性の高いCで書かれ、実行時依存関係のない軽量なコマンドラインJSONプロセッサ。JSONの抽出、フィルタリング、マッピング、変換に使えます。
- スター
- 10,628
- フォーク
- 258
- 未解決の Issue
- 59
- 最終コミット
- 15 時間前
これは何?
fqは、バイナリファイルを扱うためのコマンドラインツールです。jqと同じ式言語を使うため、使い慣れたクエリをバイナリデータにも適用できます。ファイルをクエリにパイプで渡すと、生のバイト列ではなくデコード済みのフィールドを取得できます。
MP4、PNG、ELF、PCAP、TLS、Protobuf、ZIPのほか、さまざまなメディア形式やネットワーク形式に対応する多数のデコーダーを内蔵しています。デコードしたデータを構造がわかる16進ビューで表示でき、コンテナ内の形式など、入れ子になった形式のデコードにも対応します。また、ビット単位でのバイナリデータの切り出しや連結も可能です。自動補完機能付きのインタラクティブなREPLも備えています。
fqはGoで実装されており、macOS、Linux、Windowsで動作します。Homebrew、scoop、pacman、Nixなどのパッケージマネージャーからインストールできます。
主な機能
- 01jq互換の式言語でバイナリファイルをクエリできます。
- 02メディア、ネットワーク、アーカイブなど、多数の形式に対応するデコーダーを内蔵しています。
- 03構造化された16進ビューで、デコード済みのフィールドと生のバイト列を並べて表示できます。
- 04入れ子になった形式をデコードでき、ビット単位での切り出しや連結にも対応しています。
- 05自動補完機能付きのインタラクティブなREPLを備えています。
ユースケース
- デバッグ時にメディアファイルやコンテナの内部構造を調べる。
- コマンドラインからパケットキャプチャやプロトコルメッセージを解析する。
- シェルスクリプトでバイナリ形式から特定のフィールドを抽出する。
- デコード済みのツリーをたどり、ファイル形式の構造を学ぶ。
クイックスタート
- 1
macOSではHomebrewでインストール
brew install wader/tap/fq - 2
WindowsではScoopでインストール
scoop install fq - 3
またはGoでインストール(Go 1.22以降が必要)
go install github.com/wader/fq@latest - 4
ファイルに対して実行
fq . file
使う前に知っておきたいこと
- READMEではプロジェクトのライセンスをMITとしていますが、メタデータではNOASSERTIONと記載されています。再利用する前にライセンスを確認してください。
収録されている特集
トピック
よくある質問
- fq とは?
- 多数の形式に対応したデコーダーを備え、バイナリファイル形式を調査・クエリできる、jq風のコマンドラインツール兼クエリ言語。 fqは、バイナリファイルを扱うためのコマンドラインツールです。jqと同じ式言語を使うため、使い慣れたクエリをバイナリデータにも適用できます。ファイルをクエリにパイプで渡すと、生のバイト列ではなくデコード済みのフィールドを取得できます。
- fq は無料で使えますか?ライセンスは?
- fq は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- fq は今もメンテナンスされていますか?
- 活発にメンテナンス中。fq の最終コミットは 2026年11月7日 です。
- fq は何に使えますか?
- デバッグ時にメディアファイルやコンテナの内部構造を調べる。 コマンドラインからパケットキャプチャやプロトコルメッセージを解析する。 シェルスクリプトでバイナリ形式から特定のフィールドを抽出する。 デコード済みのツリーをたどり、ファイル形式の構造を学ぶ。
- fq のインストール方法は?
- macOSではHomebrewでインストール: brew install wader/tap/fq WindowsではScoopでインストール: scoop install fq またはGoでインストール(Go 1.22以降が必要): go install github.com/wader/fq@latest ファイルに対して実行: fq . file
- fq はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/wader/fq
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
3.6万+64 今週3068COther活発にメンテナンス更新 6 日前
コンパイル済みGoバイナリのサイズをパッケージ、セクション、シンボル別に分析し、テキスト、JSON、HTML、SVG、Web、ターミナルUIで出力するCLIツール。
2195+2 今週45GoAGPL-3.0活発にメンテナンス更新 3 日前
Linux、macOS、Windows向けに、選択した拡張機能を含む依存関係不要のPHPバイナリをビルドするCLIツール。
1967+4 今週433PHPMIT活発にメンテナンス更新 12 時間前
サブコマンド、フラグ、シェル補完、ヘルプ生成に対応した、CLI構築用の宣言的なGoパッケージ。
2.4万+7 今週1861GoMIT活発にメンテナンス更新 6 時間前