"file"コマンド:/etc/magicファイルで"search"オプションの検索深度を指定しますか?

距離/深さをどのように指定しますか?文書「コマンドはファイルを検索して」探す「定義?

普遍的な規格を作ろうとしている」/etc/マジック「様々な味のためにヘッダー、インポートした述語ライブラリを大規模に変換し、個人用プロジェクト環境に再配置できるようにします。

いくつかの「ターゲット」ファイルを確認した後に必要だと思います。最初の3,000文字以内で検索これをかなり成功したアプローチで見る文書です。

これまで私は成功しなかったので、次の2つの味/定義を試しました。

[1] 0   search/3072 [Pp][Rr][Oo][Ll][Oo][Gg]    Prolog Predicate File (ISO-Compliant Prolog), ASCII text 

そして

[2] 0   search  [Pp][Rr][Oo][Ll][Oo][Gg]    Prolog Predicate File (ISO-Compliant Prolog), ASCII text 

2番目は成功しますが、ファイルの最初の行でパターンが見つかった場合にのみ成功します。

また、次の定義を試しました。

[3] 0       search  :-      Prolog Predicate File (Non-Specific :-)

そして

[4] 0      string  %       Prolog Predicate File (Non-Specific %), ASCII text

ただし、[2]行の下に[3]または[4]を入力すると、[2]の有効性は無視されるようです。また、何らかの理由で[3]は、ファイルの優先順位に関係なく、私の考えに[4]と一致する必要があるすべてのインスタンスを「克服する」ようです。

これは私の質問につながります:「ファイル」コマンドが私のマジックファイルで最初に見つかったときに終了するように指示し、それを報告しますか?

また、要件に準拠するために処理されるファイルを標準化するために、次の初期仕様セットを定義しました。

0   string  %%Prolog    Prolog Predicate File (Non-Specific)
0   string  %%gprolog   Prolog Predicate File (GNU Prolog)
0   string  %%swipl     Prolog Predicate File (SWI-Prolog)
0   string  %%yap       Prolog Predicate File (YAP Prolog)
0   string  %%eclipse   Prolog Predicate File (ECLiPSe)
0   string  %%bprolog   Prolog Predicate File (B-Prolog)
0   string  %%poplog    Prolog Predicate File (Poplog)
0   string  %%lpaprolog Prolog Predicate File (LPA Prolog)
0   string  %%isoprolog Prolog Predicate File (ISO-Compliant Prolog)

私はISO Prolog仕様に準拠していることを確認した述語ファイルを具体的に表示できるように、この最後の定義を作成しました。

はいいいえ最初の実行行を自動的に検出するために「shebang」(例:#!/ bin / gprolog)表記を使用したいと思います。

【追加の】ただ罠を見つけました。標準/組み込みの「shebang」表記はカスタム/etc/magicエントリの前に評価されますが、同時に/etc/magic定義が他のマジックシーケンスの前に評価されるようにインストールを設定するにはどうすればよいですか?

検索奥行き仕様に関するガイダンスをいただきありがとうございます。

ベストアンサー1

おすすめ記事