Quiero encontrar y tar/archivar todos mis scripts que terminen en .sh, así que escribí algo como esto:
touch ~/archive.tar; find ~ -type f -name '*.sh' -exec rvf ~/archive.tar {} \;
El problema es que después de crear un archivo llamado archive.tar, el archivo no descomprimirá los archivos en el directorio actual sino en los directorios desde donde se archivó. Por ejemplo, se puede llamar a un script archivado, ~/Desktop/wtf/delete.sh
pero se extraerá en la carpeta, wtf
no en el directorio actual donde me encuentro actualmente. Entonces, ¿cómo edito mi script de búsqueda para que todos los scripts tengan este formato ./filename.sh?
Respuesta1
Suponiendo que esté utilizando GNU tar
, puede decir:
tar --transform 's/.*\///' -xzf archive.tgz
Esto eliminará todo hasta la última barra de los nombres de los archivos.