LINUX.ORG.RU

Перемешать все названия файлов для плеера внутри папок.

 , shuffle,


0

1

Есть скрипт

#!/bin/bash
for file in *.mp3
do
    if [[ -d $file ]]
    then
        continue    # skip directories
    fi
    if [[ $file =~ ^1[0-9]{5}9-(.*).mp3$ ]]    # get basename
    then
        name=${BASH_REMATCH[1]}                # of a previously shuffled file
    else
        name=${file%.mp3}                      # of an unshuffled file
    fi
    if [[ $1 != -u ]]
    then
        mv "$file" "1$(printf "%05d" $RANDOM)9-$name.mp3"    # shuffle
    else
        if [[ ! -e "$file.mp3" ]]
        then
            mv "$file" "$name.mp3"                           # unshuffle
        fi
    fi
done

Но он мешает только в одной папке, как приноровить его мешать и выполнять функцию чистки во вложенных папках рекурсивно?

★★

Ответ на: комментарий от rikardoac

Да я щас еще понял одну штуку - оно все равно будет по папкам скакать а это неудобно, так что щас буду конвертировать и все в одну папку кучкой с названиями чтобы потом разобраться что где. А там уже и исходный скрипт сойдет.

Bupyc ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.