Встройте случайное целое число или файл

У меня есть папка с несколькими названными файлами 1.mp3, 2.mp3, 3.mp3, ...

Кроме того, у меня есть команда, которая принимает mp3 файл как вход:

blablabla -i mp3/1.mp3

Я хотел бы передать команде случайный mp3 файл.

blablabla -i mp3/<random int in range 1-n>.mp3

Или

blablabla -i mp3/<get random file from mp3 folder>

Я ищу самый простой метод, чтобы сделать это, это не имеет значения который. Кто может помочь?

1
задан 22 September 2017 в 10:33

1 ответ

Использовать blablabla -i mp3/$(( ( RANDOM % N ) + 1 )).mp3

Замена N с числом Max Вы хотите генерировать, или 1 Минимальное число.

Или можно использовать $(shuf -i MIN-MAX -n 1) вместо этого.

от man shuf:

-i, --input-range=LO-HI
    treat each number LO through HI as an input line
-n, --head-count=COUNT 
    output at most COUNT lines

На самом деле -n 1 в shuf здесь средства только генерируют одну случайную Цифру, можно протестировать с -n 2 который генерирует две Случайных Цифры.

Вы можете также хотеть иметь это с printf если Ваше имя файлов имеет ведущий 0.

printf "%03d.mp3\n" $(( (RANDOM % 100) + 1 ))
018.mp3
1
ответ дан 7 December 2019 в 15:29

Другие вопросы по тегам:

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