@Weewtorek: ojj, po dodaniu drugiego pliku jpg wyskakuje find: paths must precede expression: str316.jpg' find: possible unquoted pattern after predicate -name'? co to może być?
@Weewtorek: Do polecenia, które zaproponował @Kryspin013 dodałbym opcję -print0. Umożliwia to poprawne interpretowanie nazw plików, zawierających w nazwach znaki nowej linii, białe znaki, cudzysłowy, apostrofy lub odwrotne ukośniki.
#python
np. używa komendy tesseract dla każdego jpg w folderze
@Weewtorek: tak ale wygodniej walną pętle która np rekurencyjnie szuka jpg w drzewie katalogów i dla każdego odpala tesseract
@Weewtorek:
IFS=$'\n'; for $file in $(twój find ) ; do
twoje polecenie "$file"
done
Albo prościej możesz bez pętli samym findem. Tutaj na gotowym przykładzie z findem:
find ./Obrazy -type f -name \*.jpg -exec identify {} \;
Pod identify wstawiasz swoje polecenie. Pod {} automatycznie się podstawia plik znaleziony przez find. \; musi być
find: paths must precede expression:
str316.jpg'
-name'?find: possible unquoted pattern after predicate
co to może być?
-print0
. Umożliwia to poprawne interpretowanie nazw plików, zawierających w nazwach znaki nowej linii, białe znaki, cudzysłowy, apostrofy lub odwrotne ukośniki.Czyli powinno to wyglądać mniej więcej tak:
__
$ find ./Obrazy -type f \( -iname '*.jpg' -o -iname '*.jpeg' \) -print0 | xargs -0 polecenie
__
gdzie:
polecenie - to polecenie do wykonania na znalezionym pliku 'jpg' lub 'jpeg' przez find.