Як отримати розширення файлу від 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