Tar имеет простую файловую структуру.Если вы хотите перечислить их, вы должны проанализировать все файлы.Если вы хотите найти один файл, вы можете остановить процесс.Но должен быть уверен, что архив имеет только одну версию файла.Это типично для упакованных архивов, потому что добавление к ним не поддерживается.например, вы можете сделать так:
tar tvzf somefile.gz|grep for find something|\
while read file; do foundfile="$file"; last; done
в этом цикле прервется и не будет читать все, но только от начала до позиции файла.
Если вам нужно сделать что-то еще со списком, сохраните его в любой временный файл.Вы можете сжать этот файл для сохранения места, если это необходимо:
tar tvzf somefile.gz|gzip >temporary_filelist.gz