All4DK 01.09.2013 14:44
Есть вопрос! — Случайный префикс для имени файла
Уважаемые мастера и гуру, вопрос для вас!У меня есть хитрая задача - переименовать порядка 1000 файлов, добавив каждому случайный префикс (до 4 символов). Префикс может быть буквенно-цифровой.
Оптимально было-бы взять md5 от имени и 4 символа хеша приписать в начале. Но я не представляю как это можно сделать. Писать программу на ЯП высокого уровня - как-то не спортивно. И вот прошу вашей помощи и совета: можно-ли выполнить эту задачу только силами bash и если да, то с какой стороны подступиться?
Спасибо!
Возникла сложность с именами файлов с пробелами, но в итоге то, что нужно! Спасибо огромное!!
ну сначала появился префикс от хеша имени файла для быстрого поиска, потом дело дошло до reiserfs
reiser созвучен со словом razor, ну и опасная бритва
ЗЫ.
у нас вообще релиз в конторе, меня мало кто сейчас понимает, моск в гиперпространстве))
reiser созвучен со словом razor, ну и опасная бритва
ЗЫ.
у нас вообще релиз в конторе, меня мало кто сейчас понимает, моск в гиперпространстве))
да. это тоже "созвучно" - дорогая отвали, у меня хеш не работает. бабы доводят мужиков в общем то
Супер! Только что проверил. На данный момент не нужно, но в хозяйстве пригодится. :)
Никогда не используйте mktemp(). Некоторые реализации следуют BSD 4.3 и заменяют XXXXXX на идентификатор текущего процесса и один символ, так что Вы можете в результате получить максимум 26 разных имен. Так как, с одной стороны, имена легко угадываемы, а с другой стороны, возможно "состязание" между проверкой на существование имени файла и открытием файла при каждом использовании mktemp(), то безопасность системы будет под угрозой. Этого можно избежать при использовании функции mkstemp(3).
Переименовывает и себя, когда лежит в каталоге с файлами :) Не трогает файлы с точки :(