SORU
29 Temmuz 2010, PERŞEMBE


bash script: yolundan sadece dosya adını almak

Nasıl uzantısı olmadan sadece dosya adı ve yolu olsun ki?

Aşağıdaki bana hiçbir uzantı verir ama ben hala yolun ekli:

source_file_filename_no_ext=${source_file%.*}

CEVAP
29 Temmuz 2010, PERŞEMBE


Çoğu Unix sadece bu amaç için basename yürütülebilir.

pax> a=/tmp/file.txt
pax> b=$(basename $a)
pax> echo $b
file.txt

Eğer bash-tek bir çözüm istiyorsanız, başlayabilirsiniz:

pax> a=/tmp/xx/file.tar.gz
pax> xpath=${a%/*} 
pax> xbase=${a##*/}
pax> xfext=${xbase##*.}
pax> xpref=${xbase%.*}
pax> echo;echo path=${xpath};echo pref=${xpref};echo ext=${xfext}

path=/tmp/xx
pref=file.tar
ext=gz

O küçük parçacığı xpath (dosya yolu), xpref (dosya öneki) ve xfext (dosya uzantısı) ayarlar.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • gadgetgal38

    gadgetgal38

    9 HAZİRAN 2009
  • Kassem G

    Kassem G

    25 EKİM 2006
  • Megan Parken

    Megan Parken

    19 Temmuz 2009