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ş:
Bash dosya yolu bir tartışmada her zam...
Nasıl bir şube sadece bir dosya almak ...
Python nasıl bir yol uzantısı olmadan ...
Ruby dosya yolu uzantısı olmadan Dosya...
Nasıl tam yol kullanarak bir JavaScrip...