Come posso ottenere l'estensione del file da bash? Ecco cosa ho provato:
filename=`basename $filepath`
fileext=${filename##*.}
In questo modo posso ottenere l'estensione bz2
dal percorso /dir/subdir/file.bz2
, ma ho un problema con il percorso /dir/subdir/file-1.0.tar.bz2
.
Preferirei una soluzione usando solo bash senza programmi esterni, se possibile.
Per chiarire la mia domanda, stavo creando uno script bash per estrarre qualsiasi archivio dato con un solo comando di extract path_to_file
. Come estrarre il file è determinato dallo script vedendo il suo tipo di compressione o archiviazione, che potrebbe essere .tar.gz, .gz, .bz2 ecc. Penso che questo dovrebbe comportare la manipolazione di stringhe, ad esempio se ottengo l'estensione .gz
allora io dovrebbe verificare se ha la stringa .tar
prima .gz
- in tal caso, l'estensione dovrebbe essere .tar.gz
.
.tar.bz2