この膨大なアーカイブには、.jpg、.gif、.png など、さまざまな種類のグラフィック イメージがあります。すべての種類を把握しているわけではありません。ドット拡張子名に関係なく、すべてのグラフィック イメージを一覧表示できるようにする方法はありますか? ありがとう!
質問する
69468 次
6 に答える
36
私の場合、このファイルのリストを別のプログラムにパイプしたかったので、次のほうが適しています。
find . -type f -exec file --mime-type {} \+ | awk -F: '{if ($2 ~/image\//) print $1}'
画像をタールアップしたい場合は(コメントの誰かとして)尋ねました
find . -type f -exec file --mime-type {} \+ | awk -F: '{if ($2 ~/image\//) printf("%s%c", $1, 0)}' | tar -cvf /tmp/file.tar --null -T -
于 2014-07-22T05:13:05.553 に答える
12
find . -type f -exec file {} \; | grep -o -P '^.+: \w+ image'
さらに良いはずです。
于 2013-09-25T15:56:19.353 に答える
8
「画像」のみにgrepまたはawkを使用しても、それはできません。PSD ファイルは、大文字の「I」を含む「Image」で識別されるため、大文字と小文字を区別しないようにするか、大文字の I を含めるように正規表現を改善する必要があります。EPS ファイルには「image」という単語がまったく含まれないため、必要に応じて、「EPS」または「Postscript」にも一致する必要があります。だからここに私の改良版があります:
find . -type f -exec file {} \; | awk -F: '{ if ($2 ~/[Ii]mage|EPS/) print $1}'
于 2015-02-18T09:13:47.853 に答える
1
同じ問題に関連して、photofind ( https://github.com/trimap/photofind ) というツールを公開しました。通常の検索コマンドのように動作しますが、画像ファイルに特化しており、画像ファイル内に保存されている EXIF 情報に基づく結果のフィルタリングもサポートしています。詳細については、リンクされた github-repo を参照してください。
于 2017-09-11T05:55:36.993 に答える