5

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

dir0/
 dir1/
     dir2 -> subdir1, subdir2
     dir3 ->
     file1

Если бы я мог выдать:

zip --depth 3 -r output dir0

Я бы получил следующий вывод:

dir0/dir1/file1

Как мне этого добиться? Должен ли я использовать tar или есть какой-либо другой распространенный инструмент в Linux?

1 ответ1

6

Используйте find с -maxdepth чтобы ограничить глубину обхода, затем используйте опцию инструмента, чтобы взять имена файлов из stdin, или xargs или подстановку команд.

find ... -maxdepth 3 ... | zip -@ ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .