递归tar目标主文件夹的子文件夹

时间:2017-02-13 18:25:35

标签: bash

我有一个名为webseiten的文件夹,其中包含不同的子文件夹。

我希望这些子文件夹成为焦油。这些tars的名称应该是获取tar的子文件夹的名称。

我该怎么做?

我的猜测是:

find webseiten/ -type d -exec tar -cfvz - 但现在怎么样?如何将所需的输出名称传递给exec?

因为我想要达到的目标似乎有点奇怪:

我不想要一个包含所有子文件夹的大焦油。 我想在我的主文件夹中为每个子文件夹添加一个tar。

基本上是这样的:

webseiten的内容:

  • 夹-1

  • 夹-2

  • 夹-3

  • 夹-4

然后输出应为folder-1.tar.gzfolder-2.tar.gzfolder-3.tar.gzfolder-4.tar.gz

1 个答案:

答案 0 :(得分:1)

cd webseiten
for dir in */
do
    tar -czf "$(basename "$dir").tar.gz" "$dir"
done

这就是字面意思。有关详细信息,请man tar(和man find)。