Supondo que você esteja usando GNU tar
, você pode dizer:
tar --transform 's/.*\///' -xzf archive.tgz
Isso irá remover tudo da última barra dos nomes dos arquivos.
Eu quero encontrar e tar / archive todos os meus scripts terminando .sh, então eu escrevi algo assim:
touch ~/archive.tar; find ~ -type f -name '*.sh' -exec rvf ~/archive.tar {} \;
O problema é que depois de criar um arquivo chamado archive.tar, o arquivo não descompactará os arquivos no diretório atual, mas nos diretórios dos quais ele foi arquivado. Por exemplo, pode haver um script arquivado chamado ~/Desktop/wtf/delete.sh
, mas ele será extraído na pasta wtf
e não no diretório atual onde estou atualmente. Então, como edito meu script de localização para ter todos os scripts neste formato ./filename.sh?