Найти папку, исключая одну

Найти папку, исключая одну

Я хотел бы найти папку с именем не «STDF», а затем заархивировать ее.

find /a/b/c -mindepth 1 -maxdepth 1 ! -path "STDF" -exec /usr/bin/gzip '{}' \;

Приведенная выше команда не работает.

решение1

можешь попробовать

find /where/to/look/ -type d -not -name STDF

чтобы найти папку

Теперь, когда вы упомянули об ошибке, которую вы получаете, я вижу, что вы используете gzip для сжатия папки, а вы не можете этого сделать. Посмотрите наэтот ответдля получения дополнительной информации о том, как сжать папку

решение2

Для команды gzipтребуется rфлаг.

find /a/b/c -mindepth 1 -maxdepth 1 -type d ! -name '*STDF*' -exec sh -c 'tar -zcvf "${1}".tar.gz "$@"' _ {} \;

Связанный контент