Como obtenho a extensão de arquivo do bash? Aqui está o que eu tentei:
filename=`basename $filepath`
fileext=${filename##*.}
Ao fazer isso, posso obter a extensão do bz2caminho /dir/subdir/file.bz2, mas tenho um problema com o caminho /dir/subdir/file-1.0.tar.bz2.
Eu preferiria uma solução usando apenas o bash sem programas externos, se possível.
Para deixar minha pergunta clara, eu estava criando um script bash para extrair qualquer arquivo especificado apenas com um único comando de extract path_to_file. Como extrair o arquivo é determinado pelo script vendo sua compressão ou arquivamento tipo, que poderia ser .tar.gz, .gz, .bz2 etc. Eu acho que isso deve envolver a manipulação de cadeia, por exemplo, se eu chegar a extensão .gzentão eu deve verificar se possui a string .tarantes .gz- se houver, a extensão deve estar .tar.gz.
.tar.bz2