какой наилучший подход к объединению файлов Tar после разделения

какой наилучший подход к объединению файлов Tar после разделения

у нас есть следующие файлы, которые мы отделили от огромного tar-файла

linuxaa
linuxab
linuxac
.
.
.

примечание - у нас есть только файлы сlinux[a-b][a-z]и linux-xxxxили linux_xxx , но мы хотим сжать только файлы сlinux [a-b[a-z]

и обычно я использую это, чтобы tar.gzснова создать файл

cat linux[a-b][a-z] > centos7-rpm.tar.gz 

в большинстве случаев tar.gzсоздано успешно

но иногда этот файл кажется поврежденным

есть ли другой безопасный подход к созданию tar.gzфайла? ,

мы получаем следующие ошибки в случае, если файл tar имеет проблемы

gzip: stdin: invalid compressed data--format violated
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
failed while , error 2

важная заметка

мы можем сделать толькоcat linux* > centos7-rpm.tar.gz

потому что у нас есть другие файлы linux-tool, которые мы не хотим сжимать

решение1

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

cat linux* > centos7-rpm.tar.gz

или

cat linux?? > centos7-rpm.tar.gz

на случай, если у вас есть другие файлы, которые начинаются с буквlinux

но чтобы быть уверенным в последовательности, вы можете попробовать что-то вроде:

cat $(ls -1 linux[a-b][a-z]|sort) > centos7-rpm.tar.gz

ls -1сгенерирует по одному выводу на строку. sortобеспечит правильную сортировку списка файлов (если вы используете команду split для создания списка)

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