各カテゴリテキスト(コードスクリプトとsrcファイルを含む)、ビデオ、サウンド、画像ファイルに4つのforループを使用したいと思います。
同様の検査を実行するための明示的な検査拡張
for i in *.ext1 *.ext2 *.ext...
各カテゴリに対して可能なすべての拡張を指定する必要があり、選択肢を探しています。
ベストアンサー1
他の方法がないのか怖いです。 *nixシステムでは、おそらく使用しているすべてのオペレーティングシステムでは、拡張は通常オプションであり、外観上であることに注意してください。これは、拡張子がまったくないファイルを持つことができることを意味します。
$ ls
foo1 foo10 foo2 foo3 foo4 foo5 foo6 foo7 foo8 foo9
$ for file in *; do file "$file"; done
foo1: PNG image data, 25 x 25, 8-bit/color RGBA, non-interlaced
foo10: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 8 bit, mono 22050 Hz
foo2: GIF image data, version 89a, 500 x 225
foo3: HTML document, Unicode text, UTF-8 text, with very long lines (1207)
foo4: MPEG sequence, v2, program multiplex
foo5: Ogg data, Vorbis audio, stereo, 44100 Hz, ~128000 bps
foo6: Audio file with ID3 version 2.2.0, contains: MPEG ADTS, layer III, v1, 160 kbps, 44.1 kHz, JntStereo
foo7: ISO Media, Apple QuickTime movie, Apple QuickTime (.MOV/QT)
foo8: RIFF (little-endian) data, AVI, 640 x 480, 30.00 fps, video: FFMpeg MPEG-4, audio: MPEG-1 Layer 3 (mono, 44100 Hz)
foo9: ASCII text
したがって、唯一のオプションは、ファイル形式を抽出し、上記のカテゴリのいずれかに分類するプログラムを作成することです。そのようなツールが存在する場合、私はそれについて知らない。
本当にファイルを作成したい場合は、file
上記の方法から始めて、どのファイル形式がどのカテゴリに属するかを定義し、そこからインポートするだけです。ただし、これを実行できるシェルの基本的な方法はありません。