2017-02-13 153 views
0

我有一個文件夾,稱爲webseiten與不同的子文件夾。遞歸地tar'ing主文件夾的子文件夾

我想這些子文件夾被tar'd。這些焦油的名稱應該是獲取tar的子文件夾的名稱。

我該怎麼做?

我的猜測是:

find webseiten/ -type d -exec tar -cfvz - 但現在什麼?如何將所需的輸出名稱傳遞給exec?

,因爲它似乎是一個有點奇怪我想達到的目標:

我不想一個大焦油中的所有子文件夾。 我想在我的主文件夾中的每個子文件夾的焦油。

所以基本上:

內容webseiten

  • 夾-1

  • 夾-2

  • 夾-3

  • 夾-4-

然後輸出應該是folder-1.tar.gzfolder-2.tar.gzfolder-3.tar.gzfolder-4.tar.gz

回答

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

這就是字面意思。欲瞭解更多信息,man tar(和man find)。

+0

那不是我想要的,對不起l0b0。我會再指出一點,給我一點時間。 –

+0

要在一秒鐘內檢查你的腳本,並給你一個快速反饋。 –

+0

工作很好,非常感謝。 –