Как я могу рекурсивно архивировать конкретные файлы в каталоге без архивации самих файлов в bash? - PullRequest
1 голос
/ 12 сентября 2011

Как и в заголовке, я пытаюсь создать скрипт, который будет принимать каталог как входные данные, распаковывать файлы внутри каталога, сохраняя при этом сами каталоги в другой каталог, взятый в качестве входных данных.Так, например:

$ 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 Ответ

2 голосов
/ 12 сентября 2011
cp -R $1 $2
find $2 -type f -exec bzip2 {} \;
...