Подтвердить что ты не робот

Как я могу искать файлы и zip их в одном zip файле

Я попытался найти файлы и закрепить их со следующим коммандом

find . regexpression -exec zip {} \;

однако он не работает. Как я могу это сделать?

4b9b3361

Ответ 1

Используемая вами команда будет выполнять zip для каждого файла отдельно, попробуйте следующее:

find . -name <name> -print | zip name.zip [email protected]

[email protected] сообщает zip читать файлы с входа, от человека zip (1):

- @списки файлов. Если список файлов указан как - @[Not on MacOS], zip берет список входных файлов со стандартного ввода, а не из командной строки.

Ответ 2

Вы также можете указать имена в результате команды find:

zip name.zip `find . -name <name> -print`

Это функция оболочки, которую вы используете. Вы можете найти "backticks", чтобы определить, как обрабатывается ваша оболочка.

Ответ 3

Ваш ответ близок, но это может работать лучше:

find -regex 'regex' -exec zip filname.zip {} +

Это поместит все соответствующие файлы в один zip файл с именем filename.zip. Вам не нужно беспокоиться о специальных символах в имени файла (например, о разрыве строки), который вы могли бы, если бы вы передали результаты.