SORU
8 HAZİRAN 2009, PAZARTESİ


Bash dosya adı ve uzantısı ayıklamak

Dosya adı (uzantısı olmadan) ve uzantısı ayrı ayrı almak istiyorum.

Bulduğum en iyi çözüm şu ana kadar

NAME=`echo "$FILE" | cut -d'.' -f1`
EXTENSION=`echo "$FILE" | cut -d'.' -f2`

Bu dosya adı birden çok varsa işe yaramıyor çünkü yanlış "." karakterleri. Diyelim ki vara.b.jsdüşününbirveb.jsyerinebir.bvejs.

Python ile kolayca yapılabilir

file, ext = os.path.splitext(path)

ama mümkünse sadece bunun için bir Python yorumlayıcısı yangın, gitmemeyi tercih ederdim.

Daha iyi fikri olan?

CEVAP
8 HAZİRAN 2009, PAZARTESİ


İlk, yolu olmadan dosya:

filename=$(basename "$fullfile")
extension="${filename##*.}"
filename="${filename%.*}"

Alternatif olarak, son odaklanabilirsiniz '/' yerine yolu '. eğer öngörülemeyen dosya uzantıları varsa bile çalışmalıdır:'

filename="${fullfile##*/}"

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kiddyzuzaa

    Kiddyzuzaa

    25 ŞUBAT 2014
  • The Slow Mo Guys

    The Slow Mo

    15 AĞUSTOS 2010
  • tinycammonitor

    tinycammonit

    14 Aralık 2010