Как мне получить расширение файла от bash? Вот что я попробовал:
filename=`basename $filepath`
fileext=${filename##*.}
Делая это, я могу получить расширение bz2от пути /dir/subdir/file.bz2, но у меня есть проблема с путем /dir/subdir/file-1.0.tar.bz2.
Я бы предпочел решение, использующее только bash без внешних программ, если это возможно.
Чтобы прояснить мой вопрос, я создавал bash-скрипт для извлечения любого данного архива только одной командой extract path_to_file. Как извлечь файл, определяется сценарием, видя его тип сжатия или архивирования, который может быть .tar.gz, .gz, .bz2 и т. Д. Я думаю, что это должно включать в себя манипуляции со строками, например, если я получаю расширение, .gzто я должен проверить, есть ли у него строка .tarраньше .gz- если это так, расширение должно быть .tar.gz.
.tar.bz2