[root@satish: ~/Desktop] $ whatis Linux
Linux: ничто соответствующее.
Подобный ответу bahamat, но генерирует фактические UUID. UUID имеют некоторые зарезервированные биты, которые используются для определения версии и используемого варианта. В настоящее время существует 5 типов UUID определенные, случайные UUID, как Вы попросили, версия 4. Вы отметите, что версия 4 UUID имеет этот формат:
442b7f35-f33f-4b8d-9a07-db8ec207129e | '-- variant (bits 10__ -> [89AB]) '------- version (bits 0100 -> 4)
Кроме того, эта версия не наносит ущерб в случае, если поколение UUID перестало работать.
for i in *; do uuid=$(uuidgen -r) && mv -- "$i" "$uuid.${i##*.}" done
Используя/proc/sys/kernel/random/uuid:
for i in *; do uuid=$(cat /proc/sys/kernel/random/uuid) && mv -- "$i" "$uuid.${i##*.}" done
Что-то вроде этого:
for i in *; do mv -- "$i" "$(openssl rand -hex 16).${i##*.}"; done
Используя openssl rand 16
дает Вам GUID на 128 битов. Используйте 32, если Вы хотите GUID на 256 битов.
uuidgen
работы также (sys-apps/util-linux в хинду)
– Michael Mrozek♦
18.01.2011, 05:39
uuidgen
или /proc/sys/kernel/random/uuid
генерировать UUID.
– Juliano
19.01.2011, 02:18
Короткий сценарий Perl ниже - использование кошки для получения uuid не является самым чистым/самым быстрым способом кодировать его, но это сохраняет команду короткой:
perl -e '
foreach (@ARGV) {
my $uid=qx|cat /proc/sys/kernel/random/uuid|;
chomp $uid;
(my $new=$_)=~s#(.*)\.#$uid.#;
rename($_, $new)
}
' *.file_ext
Вышеупомянутое использование файл в/proc на Linux как источник uuids:
[bash#] cat /proc/sys/kernel/random/uuid
d474706f-b18c-4e4b-8762-5ed577c74ac3
ls
вывод не предназначен, чтобы быть проанализированным. ls
предназначен для создания читаемого пользователем вывода, и он может заменить символами в именах файлов.
– Juliano
19.01.2011, 02:25