Use -C e --strip-components (consulte man tar ).
Exemplo:
mkdir FOLDER
# for remote tar file
curl -L ’remote_tar_file' | tar -xz - -C FOLDER --strip-components=1
# for local tar file
tar -xz FILENAME -C FOLDER --strip-components=1
Explicação:
O sinalizador C assume que um diretório já está no lugar, portanto, o conteúdo do arquivo tar pode ser expandido nele. daí o mkdir FOLDER .
O strip-components flag é usado quando um arquivo tar se expande naturalmente para uma pasta, digamos, como o github, onde ele é um exemplo para a pasta repo-name-master . É claro que você não precisaria da pasta de primeiro nível gerada aqui, então strip-components definido como 1 removeria automaticamente a primeira pasta para você. Quanto maior o número definido, as pastas nester mais profundas serão removidas.