すべてのファイルタイプに対して「ファイル」出力改行タイプとエンコーディングをどのように設定しますか?

すべてのファイルタイプに対して「ファイル」出力改行タイプとエンコーディングをどのように設定しますか?

私はしばしばファイルのエンコーディングと改行の種類をチェックする必要があります。

このfileユーティリティは完璧にフィットするようです。残念ながら、すべてのファイル形式に必要な情報が出力されるわけではありません。.phpたとえば、ファイルにはこれを行いません。

たとえば、

file extra.module.php

extra.module.php:PHPスクリプトテキスト

ただし、ファイル名を変更して.txtPHP起動タグを削除すると、両方が出力されます。

file extra.module.txt 

extra.module.txt:CRLF行終端を持つUTF-8 Unicode C ++プログラムテキスト

マンページを見て、-iスイッチを使用して出力文字エンコーディングを強制することができますが、改行型スイッチはないようです。

まず、ファイル名を変更したりファイルを変更したりする必要のない簡単な解決策はありますか?

答え1

@don_crisstiのコメントによると、空のマジックファイルを渡すと、デフォルトのfileASCII検出に戻ります。

したがってfile -m /dev/null extra.module.php、この場合、トリックが完了し、必要な結果が出力されます。

extra.module.php:CRLF行終端を持つUTF-8 Unicode C ++プログラムテキスト

関連情報