Я просто добавил wubi часть! любым способом я использую 12.04 ЛТС.. @Эрика, я читал "оставшуюся половину лайма", имея в виду мякоть половины плода, тем более, что я не думаю, что это делает много смысла, чтобы "мелко нарезать" кожуру или цедру, но я могу, конечно, ошибаться. Вы думаете, я должен скопировать весь остальной рецепт в моем посте, а также, чтобы дать больше контекста? Я, конечно, не писать бумаги из-за академических амбиций, поскольку данная работа отличается от большинства других вещей, которые я обычно публикую, и пока я что-то нахожу его гораздо более ценным. Я начал писать это, потому что я просто хотел, чтобы понять некоторые проблемы в основной......

Для awk и подход:

найти [каталог] -тип F [различные другие варианты найти] | 
 на awk '{ориг=$0; 
 матч($0,/^.*\//,путь); суб("^"путь[0], "");
 матч($0, /.[[^.]+$/,ВН); суб(ВН[0]"$", "");
 ("Эхо \"" $0 "\"|программы md5sum") | Гэтлину;
 ком=ом("МВ \"%ы\" \"%ы%ы%ы\"", оригинальные, Р[0], $1, ВН[0]);
печати(ком)
}'

Современные найти команды не требуется каталог для ввода . предполагается, поэтому [каталог] может быть пустым. В -тип F только находит файлы, что очень удобно, так как программы md5sum не любят каталоги и изменить имя каталога во время работы, не очень хорошая идея. Использовать -имя_экземпляра узором Если вы только хотите использовать некоторые файлы, например -имя_экземпляра \*.дат, если дело важно, использовать имя вместо -имя_экземпляра.

На матч(...); подгруппы(...) штук извлечение частей имени файла и заменить их в строке ввода. Обратите внимание, что "^" и "$" являются [пред/АП]в режиме ожидания для предотвращения замены строка, которая может повторить путь/расширение.

Заменить печати(ком) с системой(ком) на самом деле выполнить переименование.

Если вы хотите использовать программы md5sum файла в качестве имени вы можете использовать тот факт, что программы md5sum выдает сумму и ввод именем сделать что-то вроде:

 найти -типа F -exec для программы md5sum '{}' ';' | 
 в то время как чтение файла суммы ; делать 
 [Эхо] файл MV "$" "`каталог $файл`/$сумма".расширения ; 
сделано

В то время как читать сумма файл будет занимать 2 аргументов, результаты программы md5sum команду и назначить сумму и файл переменных с ними. Поскольку сумма не должны иметь места в нем, читать должно работать нормально.

Очевидно, что [Эхо] должны быть удалены, когда на самом деле работает, но это всегда хорошая идея при тестировании каких-либо скриптовые изменения в тестовый поиск перед запуском.

Все это предполагает, что вы используете Баш. Кроме того, это может быть введен как одна длинноватая строчка:

найти -имя_экземпляра \*.в JPG -exec для программы md5sum '{}' ';' | в то время как чтение файла sum ; сделать МВ "файл $" "`каталог файлов $`/$сумма".формат JPG ; сделано