переименуйте случайным образом файлы на USB-устройстве

Попытайтесь удалить /opt/j2sdk/bin и /usr/local/testing/jdk1.6.0_23/bin от Вашего PATH.

Когда Вы работали alternatives --config, это должно было измениться /usr/bin/java указать на 1.6.0 версий.

Если Вы добавляете их к PATH и используют alternatives, у Вас будет два места для конфигурирования вещей, и это станет сбивающим с толку.

3
21.08.2012, 11:17
2 ответа

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

printf '%s\n' * | shuf | nl -n rz -s - |
while IFS= read -r name; do
  mv -- "${name#*-}" "$name"
done

printf управляйте печатает имена файлов, один на строку. shuf применяет случайную перестановку к входным строкам. nl добавляют префиксы как 000001-, 000002-, и т.д. к каждой строке. while цикл выполняет итерации по всем строкам. mv команда переименовывает foo.mp3 кому: 000001-foo.mp3, и т.д.

2
27.01.2020, 21:17
  • 1
    О, спасибо за Вашу справку. Сегодня вечером я пробую это! Это, кажется, лучший способ без любого риска коллизии –  Raphaël 23.08.2012, 11:02

Можно добавить случайное число равной ширины как префикс, это - то, что я делаю для рандомизации моих звуковых файлов:

for i in *; do mv "$i" "$(seq -w 0 999 | shuf -n 1)_$i"; done
3
27.01.2020, 21:17
  • 1
    Нет, это не работает: это - замысловатый способ генерировать случайное число для каждого входа, и существует риск коллизии. –  Gilles 'SO- stop being evil' 22.08.2012, 02:43
  • 2
    Да существует риск коллизии, но это не имеет значения для его варианта использования. Только случайный префикс мог бы произойти несколько раз, не целое имя файла. –  scai 22.08.2012, 07:59
  • 3
    Это, вероятно, не настолько важно, учитывая вариант использования, но получающийся вывод немного склоняется к лексикографическому порядку имен файлов. Например, учитывая файлы a.mp3, b.mp3 и c.mp3, порядок a, b, c немного более вероятен, чем a, c, b или b, a, c или b, c, a или c, a, b, которые немного более вероятны, чем c, b, a. –  Gilles 'SO- stop being evil' 22.08.2012, 10:16
  • 4
    Спасибо за Ваш отрывок. Даже если коллизия не важна, метод Gilles кажется инструментом для очистки. Но спасибо за Ваш интервенционный –  Raphaël 23.08.2012, 11:03

Теги

Похожие вопросы