Прежде всего, я прочитал множество постов на эту тему, но ни один из них не помог, например,
Архивирование без создания родительской папки
Unix zip подкаталог, не включая родительский каталог
Вот что я хочу. У меня следующая структура папок:
- root
-- subroot
--- subsubroot
---- file1.foo
---- file2.foo
---- file3.foo
---- file4.foo
А результат архивированного файла должен быть при распаковке
file1.foo
file2.foo
file3.foo
file4.foo
Суть в том, что file*.foo
- это просто пакеты, то есть, в основном, сами папки, поэтому я попытался использовать опцию -j
в сочетании с моей рекурсивной опцией (-r
), но затем я просто получил плоскую иерархию всех файлов.
Моя текущая команда оболочки выглядит так:
find root/subroot/subsubroot -name '*.foo' | grep -v somestring | xargs -I % zip -r foos.zip %
Однако результат этого будет точно таким же, как и исходная структура со всеми родительскими папками.
Мне не обязательно использовать команду zip
, но полученный файл должен быть zip
.