Dosya uzantısını bash'dan nasıl edinebilirim? İşte denedim:
filename=`basename $filepath`
fileext=${filename##*.}
Bunu yaparak bz2
yoldan uzatma alabilirim /dir/subdir/file.bz2
, ancak yolla ilgili bir sorunum var /dir/subdir/file-1.0.tar.bz2
.
Mümkünse sadece harici programları kullanmadan bash kullanarak bir çözümü tercih ederdim.
Sorumu açıklığa kavuşturmak için, belirli bir arşivi sadece tek bir komutla çıkarmak için bir bash betiği yaratıyordum extract path_to_file
. Onun sıkıştırma gördükten veya türünü arşivleyerek komut dosyası tarafından belirlenir Nasıl dosyayı ayıklamak için, ben uzantısını alırsanız .bz2 vb ben örneğin, bu dize kullanımı içermelidir düşünüyorum, .gz, .tar.gz olabilir .gz
Sonra .tar
önce dize olup olmadığını kontrol etmelisiniz .gz
- öyleyse, uzantı olmalıdır .tar.gz
.
.tar.bz2