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

  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • soyacincautv

    soyacincautv

    14 NİSAN 2010
  • Tech4Geeks

    Tech4Geeks

    8 Ocak 2012