GNU/Linux >> Belajar Linux >  >> Linux

Buat daftar semua file gambar grafik dengan find?

Ini seharusnya berhasil

find . -name '*' -exec file {} \; | grep -o -P '^.+: \w+ image'

contoh keluaran:

./navigation/doc/Sphärische_Trigonometrie-Dateien/bfc9bd9372f650fd158992cf5948debe.png: PNG image
./navigation/doc/Sphärische_Trigonometrie-Dateien/6564ce3c5b95ded313b84fa918b32776.png: PNG image
./navigation/doc/subr_1.jpe: JPEG image
./navigation/doc/Astroanalytisch-Dateien/Gamma.gif: GIF image
./navigation/doc/Astroanalytisch-Dateien/deltaS.jpg: JPEG image
./navigation/doc/Astroanalytisch-Dateien/GammaBau.jpg: JPEG image

Berikut ini lebih cocok untuk saya karena dalam kasus saya, saya ingin menyalurkan daftar file ini ke program lain.

find . -type f -exec file --mime-type {} \+ | awk -F: '{if ($2 ~/image\//) print $1}'

Jika Anda ingin menaikkan tar gambar (seperti seseorang di komentar) bertanya

find . -type f -exec file --mime-type {} \+ | awk -F: '{if ($2 ~/image\//) printf("%s%c", $1, 0)}' | tar -cvf /tmp/file.tar --null -T -

Linux
  1. Hapus Semua File Kecuali Di Subdirektori Tertentu Dengan Temukan?

  2. Dapatkan Daftar Semua File Dengan Mask Di Terminal?

  3. Cara Menemukan Semua File dengan Ukuran File Nol (0) Bytes di Direktori Secara Rekursif

  1. Cara mendaftar semua file dan direktori secara rekursif

  2. Bagaimana menemukan semua file yang diakhiri dengan .rb dengan Linux?

  3. Temukan semua file dengan nama yang mengandung string

  1. Bagaimana menemukan semua file/folder dengan izin 777 di Linux?

  2. Bagaimana menemukan / mendaftar semua file unik di dua direktori?

  3. Bagaimana cara mendaftar semua pengguna dengan root?