У меня есть большой архив, который занят передачей по FTP от удаленной системы к нашей локальной системе.
Я хочу знать, возможно ли начать распаковку, скажем, 50 файлов за раз, чтобы эти файлы могли начать обрабатываться во время передачи.
Вот подробное объяснение того, как можно извлечь определенные файлы из архива. В частности, GNU tar может использоваться для извлечения одного или нескольких файлов из tarball. Чтобы извлечь конкретные члены архива, укажите их точные имена в качестве аргументов.
Например:
tar --extract --file={tarball.tar} {file}
Вы также можете извлечь те файлы, которые соответствуют определенному шаблону глобализации (групповые символы). Например, чтобы извлечь из cbz.tar все файлы, начинающиеся с pic, независимо от их префикса каталога, вы можете набрать:
tar -xf cbz.tar --wildcards --no-anchored 'pic*'
Чтобы извлечь все файлы php, введите:
tar -xf cbz.tar --wildcards --no-anchored '*.php'
Где,
-x
: инструктирует tar для извлечения файлов.
-f
: указывает имя файла / имя тарбола.
-v
: Подробный (показать прогресс при извлечении файлов).
-j
: фильтровать архив через bzip2, использовать для распаковки файлов .bz2.
-z
: фильтровать архив через gzip, использовать для распаковки .gz файлов.
--wildcards
: инструктирует tar обрабатывать аргументы командной строки как шаблоны-заглушки.
--no-anchored
: сообщает, что шаблоны применяются к именам элементов после любого / разделителя.
-t
списке до полной загрузки архива. В любой момент времени в списке отображаются только те имена файлов, которые были или были переданы, т.е. не полный список; пока он не будет полностью загружен.Сам не пробовал, но как на счет этого:
Tar выводит строку в STDOUT для каждого извлеченного файла, затем
head
команда уничтожит канал после 50 строк. После того, как труба умирает, я ожидаю, что смола тоже умрет.источник
head
. Позвольте мне изменить свой ответ.tar
может извлечь более 50 файлов до его SIGPIPEd, и, в частности, он может извлечь последний, неполный файл.дает вам полный список файлов в
tarfile.tar
Эта команда восстанавливает
fileToRestore
Распаковать несколько файлов, но не все, вы можете:
Вы кладете весь список файлов из
tarfile.tar
вtar.txt
Теперь
tar.txt
есть весь список файлов,tarfile.tar
и вы можете оставить только те файлы, которые вы хотите восстановить или с головой ...Вы можете поместить эти строки в файл
Или полный файл сценария:
И это все
источник