У меня есть папка с несколькими названными файлами 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>
Я ищу самый простой метод, чтобы сделать это, это не имеет значения который. Кто может помочь?
Использовать 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