Сожмите только файлы в папке, исключая папки в полном пути файла

Я хочу сжать папку с 100 файлами в пакетах 10. Я использовал следующий сценарий, чтобы сделать это. Но то, что происходит, - когда я разархивировал gzipped файл, он имеет все папки от/.

find /home/ubuntu/reports/tmp -type f -print0 | split -t '\0' -l 5 -d --filter 'tar czf /home/ubuntu/reports/tmp/reports-$(date +"%F-%T")-$FILE.tar.gz --files-from=- --null'

Кто-либо может сказать мне, как архивировать только файлы без содержания папок?

2
задан 24 January 2018 в 13:18

1 ответ

Самый простой путь был бы только к cd к каталогу и выполненный find оттуда:

cd /home/ubuntu/reports/tmp
find . -type f -print0 | split -t '\0' -l 5 -d --filter 'tar czf /home/ubuntu/reports/tmp/reports-$(date +"%F-%T")-$FILE.tar.gz --files-from=- --null'

Обратите внимание создание tar.gz файлов в том же каталоге как файлы что означает, что они подойдут в findвывод и затем включен в другие tar.gz файлы. Поместите tar.gz файлы в некоторый другой каталог.

Кроме того, для пакетов 10, Вам нужно -l 10, нет -l 5, который был бы пакетами 5.

1
ответ дан 2 December 2019 в 04:45

Другие вопросы по тегам:

Похожие вопросы: