Se você tem o GNU tar, você pode usar as opções --transform
ou --strip-components
para obter um arquivo simples, sem a árvore de diretórios. Algo como:
tar cf foo.tar --transform='s:.*/::' /root/dir1/f1* /root/dir2/f2* /root/dir1/log.txt
O GNU tar avisará sobre o /
nos nomes dos arquivos, mas os removeremos de qualquer maneira.
Como alternativa, com um par de cd
s:
cd /root/dir1;
tar cf /some/where/foo.tar f1* log.txt
cd /root/dir2;
tar uf /some/where/foo.tar f2*
Aqui, precisaremos especificar um caminho para o arquivo tar que não será afetado pelo cd
s (portanto, um caminho absoluto ou porque ambos são diretórios em /root
, um caminho para o pai pasta).