【问题标题】:Bash - Archive multiple subfolders from mounted fs to local folderBash - 将多个子文件夹从挂载的 fs 归档到本地文件夹
【发布时间】:2018-11-19 01:58:03
【问题描述】:

我认为我的想法很简单,但由于我现在花了 4 小时,我想我需要帮助。

我想从存储在已安装 fs 上的音乐库创建 rar 存档,每个存档都具有库外的子文件夹名称,但我希望直接在本地系统上创建存档。

以下两种解决方案都导致在库中创建档案,但在我的本地 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”的存档,其中所有子文件夹都被收集了。至少在我当地的 fs..

我在监督什么?

【问题讨论】:

  • 看看我的回答,如果你不介意的话,如果你喜欢就投票吧……
  • 为了降低投票声望,sry

标签: bash for-loop rar


【解决方案1】:

将 find 与 read/while 一起使用:

    # -- 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"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 2021-03-04
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    相关资源
    最近更新 更多