0

我发现这篇文章用于将 rar 文件从一个文件夹中提取到相同的文件夹名称: 将 rar 文件提取到相同的文件夹名称

我想将子文件夹中的几个rar文件提取到同名的子文件夹中,即

/folder/sub-folder1/file1.rar --> /folder/sub-folder1/new-folder-same-name-as-sub-folder1/extracted_files.xyz

/folder/sub-folder2/file2.rar --> /folder/sub-folder2/new-folder-same-name-as-sub-folder2/extracted_files.xyz

如何修改:

#!/bin/bash

    for archive in "$(find $loc -name '*.rar')"; do
      destination="${archive%.rar}"
      if [ ! -d "$destination" ] ; then mkdir "$destination"; fi
      unrar e "$archive" "$destination"
    done

为此,即运行文件夹/*rar 中的所有 rar 文件?或者,使用类似的东西?

谢谢

4

1 回答 1

0

您可以使用$loc文件夹中的下一个管道,您希望在文件名中使用哪个路径:

find . -iname *.sh -type f -printf '%P\n' | xargs -i bash -c 'echo "$1" `dirname $1`/`echo "$1" | sed "s/\.sh$//1" | tr "/" "-"`' -- {}

如您所见,$(dirname $archive)它将返回一个目录路径,而 pipesed "s/\.sh$//1" | tr "/" "-"可以filename为您返回一个预期的格式。

于 2020-01-20T11:24:44.090 回答