如何在目录中递归地压缩归档特定文件而不在bash中归档文件本身?

时间:2011-09-12 03:03:55

标签: bash bzip

正如标题所说,我正在尝试创建一个脚本,它将目录作为输入bzip目录中的文件,同时将目录本身保存到另一个目录作为输入。所以,例如:

$ 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命令等等,我认为这是低效的。所以,我希望能在这里得到你们的帮助。即使你们这些人指出我的方向也很棒。

1 个答案:

答案 0 :(得分:2)

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