2011-09-12 48 views
1

正如標題所說,我試圖創建一個腳本,將目錄作爲輸入bzip目錄中的文件,同時保留目錄本身到另一個目錄作爲輸入。因此,舉例來說:如何在目錄中遞歸存檔特定文件而不將文件本身歸檔到bash中?

$ tree testdir 
testdir 
├── foo.bar 
├── hello.bar 
├── hmm 
│   ├── down.ov 
│   ├── hulk.bar 
│   ├── nope 
│   │   ├── around.zap 
│   │   ├── over.bar 
│   │   ├── side.it 
│   │   └── under.bar 
│   ├── smash.er 
│   └── up.bar 
├── no.wsx 
├── test.bar 
└── yes.lol 
$ ./script testdir testdir2 
$ tree testdir2 
testdir2 
├── foo.bar.bz2 
├── hello.bar.bz2 
├── hmm 
│   ├── down.ov.bz2 
│   ├── hulk.bar.bz2 
│   ├── nope 
│   │   ├── around.zap.bz2 
│   │   ├── over.bar.bz2 
│   │   ├── side.it.bz2 
│   │   └── under.bar.bz2 
│   ├── smash.er.bz2 
│   └── up.bar.bz2 
├── no.wsx.bz2 
├── test.bar.bz2 
└── yes.lol.bz2 

我對如何做到這一點的想法,但它涉及到while循環和CD命令和諸如此類的東西,我認爲是低效的。所以,我希望能在這裏得到你們的幫助。即使你們將我指向正確的方向,那將是太棒了。

回答

2
cp -R $1 $2 
find $2 -type f -exec bzip2 {} \; 
+0

啊哈,find命令。謝謝! – Phase

+0

請確保您將問題標記爲已回答,以便Jay獲得積分並且問題不會顯示在未答覆的列表中。 –