Мы хотет переименовывать фаелы, да так, чтобы новое имя было рандомным.
Мы делат так -
if [ -z "$1" ] then echo "Использование: gen-names.sh [директория в которой делаем переименование]"; exit 0; fi cd ${1} summfiles=`ls|wc -l` array_names=(`pwgen -s 12 $summfiles`) count=0 for filename in *; do namegen=${array_names[$count]} newfilename=`echo "${filename}" | sed -r "s/(.*)\.(.*)/${namegen}.\2/"` mv "./${filename}" "${newfilename}" count=$(expr $count + 1) done
И всё збс.
Раньше получал список файлов при помощи ls, но скрипт ломался если в имени файла были пробелы.
Конструкция for filename in *; вместо for filename in `ls`;позволяет избежать таких проблем.