ファイルがフォントファイルかどうかをテストする方法

ファイルがフォントファイルかどうかをテストする方法

さまざまなソースから自動的に保存された何千ものWebページがあります。多くのWebページには、*.woff、*.eot、*.ttf、*.svgなどのファイルにフォントが含まれています。サイズを小さくしてすべてのフォントファイルを削除したいです。ファイルがフォントに適しているかどうかをテストする方法は?特に* svgファイルは混乱する可能性がありfind . -type f -name *woffます。 *svgファイルは、xxxwebfontsxxx.svgなどのフォントファイルでも、情報が豊富な画像でもかまいません。

ファイルを直接テストできない場合は、どの拡張子を削除する必要がありますか?私が知っているフォントファイル拡張子は、*otf、*ttf、*eot、*woff、およびフォントであるかもしれないかもしれないいくつかの* svgです。最初の4種類のファイルを削除して保存しますか?

ベストアンサー1

fileファイル形式を推測できる(非常に正確ですが常に完璧ではない)コマンドがあります。このコマンドを使用する1つの方法は次のとおりです。

find your_web_pages_directory -type f -name "*.*" -print0 |
  xargs -0 file |
    awk 'BEGIN{FS=": +"}$2~/[Ff]ont/{print $1}' |
      xargs rm --

このfindコマンドは拡張子を持つ一般的なファイルを探し(必要に応じて拡張子をさらに制限できます)、プログラムはawk以前の推測と一致してfileファイル名を印刷し、最後に結果を削除します。 「your_web_pages_directory」のドキュメントによれば、パイプの一部をfind | xargs追加する前に、パイプの出力を確認することをお勧めします。awkrm

注:このコードは、file目的のファイルの「フォント」や「フォント」などの内容が報告されると想定しています。実際の診断文字列ではない場合は、それに応じて変更する必要があります。検索するタイプのファイルに対していくつかのテストを実行します。

おすすめ記事