さまざまなソースから自動的に保存された何千もの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
追加する前に、パイプの出力を確認することをお勧めします。awk
rm
注:このコードは、file
目的のファイルの「フォント」や「フォント」などの内容が報告されると想定しています。実際の診断文字列ではない場合は、それに応じて変更する必要があります。検索するタイプのファイルに対していくつかのテストを実行します。