tar -tf filename.tar
folder1/file
folder1/name
[...]
Я хотел бы извлечь файл и имя , folder2 . Можно ли это сделать как однострочник?
tar -tf filename.tar
folder1/file
folder1/name
[...]
Я хотел бы извлечь файл и имя , folder2 . Можно ли это сделать как однострочник?
Ответы:
Используйте -Cи --strip-components(см. man tar).
mkdir FOLDER
# for remote tar file
curl -L ’remote_tar_file' | tar -xz - -C FOLDER --strip-components=1
# for local tar file
tar -xzf FILENAME -C FOLDER --strip-components=1
-CФлаг принимает каталог уже на месте , так что содержимое файла дегтя может быть разложена в него. следовательно mkdir FOLDER.
Этот --strip-componentsфлаг используется, когда файл tar естественным образом разворачивается в папку, скажем, в github, где он приводит примеры к repo-name-masterпапке. Конечно, вам не понадобится сгенерированная здесь папка первого уровня, поэтому --strip-componentsдля 1нее автоматически будет удалена эта первая папка. Чем больше значение, тем глубже вложенные папки удаляются.
man tar. Не заметил--strip-components. хороший