Извлеките файл tar без информации каталога - PullRequest
2 голосов
/ 03 ноября 2011

У меня есть папка, которую я превращаю в tar-файл для передачи по сети, она выглядит следующим образом

/foo/bar/file1
/foo/file2
/foo/baz/bin/file3

Я хочу извлечь ее без информации каталога, чтобы извлеченное содержимое выглядело так

file1
file2
file3 

Как этого добиться

Ответы [ 2 ]

2 голосов
/ 03 ноября 2011

Руководство по GNU tar развивает --transform:

tar --show-transformed --transform 's,.*/,,' tfv myarchive.tar 
tar --transform 's,.*/,,' xf myarchive.tar 
1 голос
/ 03 ноября 2011

А как насчет философии Unix, объединяющей инструменты? Используйте tar для извлечения как обычно, затем

find foo -type f | xargs mv '{}' .
rm -rf foo  # optional, nuke the empty dirs.

или их варианты с find ... -print0 и xargs -0.

...