GNU/Linux >> Znalost Linux >  >> Linux

Vypsat všechny soubory grafických obrázků s find?

To by mělo stačit

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

příklad výstupu:

./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

Následující mi vyhovuje lépe, protože v mém případě jsem chtěl tento seznam souborů přenést do jiného programu.

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

Pokud byste chtěli obrázky roztrhat (jak se někdo v komentářích zeptal)

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. Jak mohu v Linuxu vygenerovat seznam souborů s jejich absolutní cestou?

  2. Jak rekurzivně vypsat všechny soubory a adresáře

  3. Jak najít všechny soubory končící na .rb s Linuxem?

  1. Iterujte seznam souborů s mezerami

  2. vypsat/najít všechny běžné soubory ve všech podadresářích s výjimkou binárních souborů

  3. Jak v Linuxu zobrazím seznam souborů s úplnými cestami?

  1. Smazat všechny soubory kromě určitého podadresáře pomocí funkce Najít?

  2. Získat seznam všech souborů podle masky v terminálu?

  3. Jak vypsat všechny soubory oddílu na linuxu?