¿Cómo obtengo la extensión de archivo de bash? Esto es lo que probé:
filename=`basename $filepath`
fileext=${filename##*.}
Al hacerlo, puedo obtener una extensión de bz2la ruta /dir/subdir/file.bz2, pero tengo un problema con la ruta /dir/subdir/file-1.0.tar.bz2.
Preferiría una solución usando solo bash sin programas externos si es posible.
Para aclarar mi pregunta, estaba creando un script bash para extraer cualquier archivo dado con un solo comando de extract path_to_file. La secuencia de comandos determina cómo extraer el archivo al ver su tipo de compresión o archivo, que podría ser .tar.gz, .gz, .bz2, etc. Creo que esto debería implicar la manipulación de cadenas, por ejemplo, si obtengo la extensión, .gzentonces debe verificar si tiene la cadena .tarantes .gz; de ser así, la extensión debería ser .tar.gz.
.tar.bz2