Bash - архивировать несколько подпапок из смонтированных файлов в локальную папку - PullRequest
0 голосов
/ 09 июня 2018

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

Я хочу создать rar-архивы из музыкальной библиотеки, которая хранится на смонтированном fs,для каждого архива имя подпапок выходит из библиотеки, но я хочу, чтобы архивы создавались непосредственно в локальной системе.

Оба приведенных ниже решения привели к созданию архивов в библиотеке, но не к моей локальной fs.

 for folder in /mnt/storage01/lib/audiobook/entertainment*/; do rar a -m5 -v100m -r "${folder%/}.rar" "$folder"; done

или

find /mnt/storage01/lib/audiobook/entertainment/. -mindepth 1 -maxdepth 1 -exec rar a -m5 -v100m -r -w {}.rar {} \;

добавление

 ... -v100m -r -w "../home/{}.rar" {} \;     

в конце, к сожалению, привело только к одному архиву с именем "home.rar", в который были собраны все подпапки.По крайней мере, в моем местном фс ..

Что я наблюдаю?

1 Ответ

0 голосов
/ 09 июня 2018

Используйте поиск с чтением / в то время как:

    # -- sample code (replace echo output with actual command) --
    save_folder="/tmp/"
    find /tmp/testing/ -maxdepth 1  -type d | while read fpath; do
        echo "rar a -m5 -v100m -r \"${save_folder}$(basename ${fpath%.*}).rar\" \"$fpath\""     
    done

вывод (только эхо):

rar a -m5 -v100m -r "/tmp/14.rar" "/tmp/testing/14"
rar a -m5 -v100m -r "/tmp/80.rar" "/tmp/testing/80"
rar a -m5 -v100m -r "/tmp/13.rar" "/tmp/testing/13"
rar a -m5 -v100m -r "/tmp/16.rar" "/tmp/testing/16"
rar a -m5 -v100m -r "/tmp/2.rar" "/tmp/testing/2"
rar a -m5 -v100m -r "/tmp/100.rar" "/tmp/testing/100"
rar a -m5 -v100m -r "/tmp/17.rar" "/tmp/testing/17"
...