Вот подход, основанный только на оболочке:
## Save all files in the array $files
files=(*)
## Get a random number between 0 (arrays start counting at 0) and the
## the number of files -1 (the last file in the array)
rand=-1
until (( $rand < ${#files[@]} && $rand >= 0 )); do rand=$RANDOM; done
## Move the file, renaming as necessary
mv "${files[$rand]}" newfilename
Вы можете скопировать / вставить вышеуказанное прямо в ваш терминал.
В качестве альтернативы, в Perl :
perl -le 'rename $ARGV[int(rand($#ARGV))],newfilename' *
Функция rename просто переименовывает свой первый аргумент как второй: rename orifinal_file new_file. Функция rand печатает случайное дробное число между 0 и заданным аргументом. $#ARGV - количество аргументов, предоставляемых скрипту, здесь все файлы (и подкаталоги) в текущем каталоге. Поскольку rand возвращает дробные числа, мы передаем его через int(), чтобы получить целое число. Таким образом, int(rand($#ARGV)) выбирает один из индексов в массиве @ARGS случайным образом, и поэтому $ARGV[int(rand($#ARGV))] является одним из файлов.
Это может быть проблема с репликами sublimetext.
Посмотрите в разделе apt здесь: https://www.sublimetext.com/docs/3/linux_repositories.html
Попробуйте запустить это перед обновлением:
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
Это может быть проблема с репликами sublimetext.
Посмотрите в разделе apt здесь: https://www.sublimetext.com/docs/3/linux_repositories.html
Попробуйте запустить это перед обновлением:
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -