A mesma -f - opção também funciona para tarring.
tar -cf - something | tar -C somefolder -xvf -
O GNU tar usa o stdio por padrão:
tar -c something | tar -C somefolder -xv
O rsync também é popular.
rsync -av something/ somefolder/
Qual é a maneira idiomática de fazer o seguinte
Minha solução é
tar --to-stdout .. | tar -C somefolder -xvf -
Mas pode haver uma maneira mais idiomática de fazer isso.
Apenas adicionando outro caso de uso aqui. Eu tinha uma estrutura de diretórios grande em um sistema quase sem espaço em disco e queria acabar com um arquivo tar.gz da estrutura de diretórios em outra máquina com muito espaço.
tar -czf - big-dir | ssh user@host 'cat > /path/to/big-dir.tar.gz'
Isso economiza sobrecarga na rede e significa que você não precisa tar do outro lado, caso queira usar o rsync para a transferência.