у нас есть следующие файлы, которые мы отделили от огромного 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 для создания списка)