Щоб витягнути певний каталог (та його вміст, рекурсивно), просто передайте його як додатковий аргумент у командному рядку. За допомогою GNU tar ви можете позбавити провідного каталогу з --strip-components
можливістю (і загалом трансформувати імена файлів за допомогою --transform
). У системах, що не є Linux, ви можете використовувати pax (він є в POSIX, але деякі дистрибутиви Linux опускають його за умовчанням) та його -s
параметр.
tar xf foo.tar --strip-components=1 wordpress/wp-includes #GNU tar
pax -r <foo.tar -pp -s '!^wordpress/!!' wordpress/wp-includes
Ви можете об'єднати список включень із правилами перезапису, додавши правило, щоб переписати все до порожнього імені (що означає "не витягувати"; правило застосовується лише у тому випадку, якщо попередні правила не відповідали).
pax -r <foo.tar -pp -s '!^wordpress/\(wp-includes/\)!\1!' -s !.*!!