Mám takovouhle představu. Ve složce s obrázky je dvouúrovňová adresářová struktura představující typ a model, ve složce model jsou pak jednotlivé obrázky. Potřebuju přejmenovat všechny *.jpg na 1.jpg, 2.jpg, ... . Dále v poslední této složce, kde se přejmenovávájí soubory vytvořit složku, do který se vygenerují náhledy. Uvíz sem na tom, že když skript pustím náhodou dvakrát za sebou tak smaže část obrázků a čísluje 1.jpg, 11.jpg, 12.jpg, ... , myslel jsem že je pouze znova přejmenuje (potřebuju i přidávat obrázky). Tady je dyžtak vše potřebný pro toho kdo mi chce pomoct 
www.mk33.ic.cz/obrazky-kraviny/soubory.zip#!/bin/bash
#funkce
vypisAdresare()
{
	for I in *;
		do
			if test -d "$I"
				then echo "$I"
				cd "$I"
					zpracujObrazky
				cd ..
			fi
		done
}
zpracujObrazky(){
	ls | cat -n
	for I in *;
	do
		if test -d "$I"
			then #echo "$I"
			cd "$I"
				poradi=1
				
				#přejmenování obrázků a vytvoření náhledů
				
				#
				#... proč tohle nejde???
				#
				test –d nahledy || mkdir nahledy
								
				
				for i in *.[Jj][Pp][Gg];
				do
						#
						#proč to maže při druhým spuštění soubory????
						#
						mv "$i" "$poradi.jpg"
						poradi=$((poradi+1))
						#convert co -resize 120x90 -quality 80 kam
				done
			cd ..
		fi
	done
}
echo "------------------------------------------------------------------------"
vypisAdresare;
echo "------------------------------------------------------------------------"
Tak jsem nějak pokročil. Do každého koncového adresáře ukládám soubor s číslem následujícího souboru. Hodnotu načtu a přesunu obrázek do složky /obrazky. Večír to náhazet ještě do cyklu ať to vezme všechny adresáře.
#!/bin/bash
pocet=`cat "pocet.txt"`
mkdir "obrazky" 2> /dev/null
mkdir "nahledy"	2> /dev/null
for i in *.[Jj][Pp][Gg];
do
	if [ "$i" == "*.[Jj][Pp][Gg]" ]; then
  	echo "adresar neobsahuje obrazky"
	else
		convert "$i" -resize 120x90 -quality 80 "nahledy/$pocet.jpg" 2> /dev/null
		mv "$i" "obrazky/$pocet.jpg" 2> /dev/null
		pocet=$((pocet+1))
	fi
done
echo $pocet > "pocet.txt"