Для меня изменение
netbeans_jdkhome="/usr/lib/jvm/java-6-openjdk-amd64"
на
netbeans_jdkhome="/usr/lib/jvm/java-7-openjdk-amd64"
в файле netbeans.conf. :):)
Предполагая, что папка содержит только файлы, которые вы хотите переименовать, и что вы используете bash:
$ shopt -s globstar
$ rename -n 's;/([^/]*)/([^/]*) (\d+)\.(\w+)$;sprintf("/%s/%s - Page %03d.%s", $1, $1, $3, $4);e' ./Folder*/**/*
./Folder 2/Folder B/Folder C/Image 03.jpeg renamed as ./Folder 2/Folder B/Folder C/Folder C - Page 003.jpeg
./Folder 2/Folder B/Folder C/Image 04.png renamed as ./Folder 2/Folder B/Folder C/Folder C - Page 004.png
./Folder A/Image 01.jpg renamed as ./Folder A/Folder A - Page 001.jpg
./Folder A/Image 02.png renamed as ./Folder A/Folder A - Page 002.png
rename - это Perl-скрипт, который очень полезен для переименования файлов. В этом случае я использую регулярное выражение, которое:
/([^/]*)/ - соответствует компоненту каталога, граничащему с косой чертой. ([^/]*) - соответствует префиксу имени файла, которому присваивается пробел (\d+) - соответствует цифрам в имени файла \.(\w+) - соответствует расширению $, все привязанные в конце имени файла.Затем я использую sprintf для печати согласованных значений желаемым образом. Перейдите в 3 в %03d, чтобы получить больше отступов.
** в ./Folder*/**/* является рекурсивным глобом, поэтому мне нужно включить globstar.