Wpis z mikrobloga

zrobiłem find dla plików, które chce potraktować tesseractem. Jak napisać pętlę, żeby wykonywała dla plików, które wyszukałem?


@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ć
@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.

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.