Назад | Перейти на главную страницу

Linux: как заархивировать выбранные расширения файлов в неизвестном дереве

Как лучше всего архивировать выбранные расширения файлов в неизвестном дереве. Я не могу использовать параметры исключения в tar / gzip / rsync, так как было бы невозможно исключить все возможные варианты расширения.

Пример резервного копирования всех файлов .foo и .bar в рекурсивном дереве, но не файлов других неизвестных типов.

Я предполагаю, что это должна быть комбинация ls / find, grep и tar / gzip.

Спасибо

Очень похоже на ответ Дмурати, но без xargs.

find /path/to/tree \( -name "*.foo" -o -name "*.bar" \) -print0 | tar -T /dev/stdin --null -cvzf foobar.tar.gz

Попробуйте что-то вроде этого:

find /path/to/tree \( -name "*.foo" -o -name "*.bar" \) -print0 | xargs -r0 tar cvzf foobar.tar.gz

Вы создаете список файлов с помощью команды find, а затем передаете его в xargs, а затем в tar.