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

Как и в заголовке, я пытаюсь создать скрипт, который будет принимать каталог в качестве входных данных, 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 ответ

Решение
cp -R $1 $2
find $2 -type f -exec bzip2 {} \;
Другие вопросы по тегам