Ответ 1
Вам нужно использовать опцию --exclude
:
tar -zc -f test.tar.gz --exclude='*.xdr' *
У меня есть каталог со многими подкаталогами. В некоторых из этих подкаталогов есть файлы с расширением *.asc
, а некоторые - с *.xdr
.
Я хочу создать SINGLE файл tarball/gzip, который поддерживает структуру каталогов, но исключает все файлы с расширением *.xdr
.
Как я могу это сделать?
Я сделал что-то вроде find . -depth -name *.asc -exec gzip -r9 {} +
, но это gzips каждый *.asc
файл индивидуально, что не то, что я хочу сделать.
Вам нужно использовать опцию --exclude
:
tar -zc -f test.tar.gz --exclude='*.xdr' *
gzip всегда будет обрабатывать файлы по отдельности. Если вам нужен пакетный архив, вам придется сначала деформировать файлы, а затем gzip результат, поэтому вы в конечном итоге получите файл .tar.gz или .tgz.
Чтобы лучше контролировать то, что вы делаете, вы можете find
файлы сначала использовать команду, которую вы уже разместили (с -print insted из команды gzip), поместить их в файл и использовать этот файл (= файл списка .txt) для uinstruct tar с архивами
tar -T filelist.txt -c -v -f myarchive.tar