Bagaimana cara saya mendapatkan ekstensi file dari bash? Inilah yang saya coba:
filename=`basename $filepath`
fileext=${filename##*.}
Dengan melakukan itu saya bisa mendapatkan ekstensi dari bz2
path /dir/subdir/file.bz2
, tapi saya punya masalah dengan path /dir/subdir/file-1.0.tar.bz2
.
Saya lebih suka solusi menggunakan hanya bash tanpa program eksternal jika memungkinkan.
Untuk memperjelas pertanyaan saya, saya membuat skrip bash untuk mengekstrak arsip apa pun yang diberikan hanya dengan satu perintah extract path_to_file
. Cara mengekstrak file ditentukan oleh skrip dengan melihat kompresi atau jenis pengarsipannya, yang bisa berupa .tar.gz, .gz, .bz2 dll. Saya pikir ini harus melibatkan manipulasi string, misalnya jika saya mendapatkan ekstensi .gz
maka saya harus memeriksa apakah ia memiliki string .tar
sebelum .gz
- jika demikian, ekstensi seharusnya .tar.gz
.
.tar.bz2