SORU
9 Ocak 2009, Cuma


Özü bash dize

Bash (komut dosyasının parçası olacak bir çözüm arıyor.

Formu "someletters_12345_moreleters.bir dosya adı verilen"5 basamak ayıklamak istiyorum ve bir değişken içine koymak. ext

Vurgulamak için. X sonra beş basamaklı bir sıra tek çevrili iki tarafında sonra alt çizgi karakter sayısı sayısı x başka bir dizi karakter içeren bir dosya adı var. 5 haneli bir sayı alır ve bir değişken içine koymanı istiyorum.

Bu yapılabilir farklı şekilde ilgileniyorum. Çoğu şeyde olduğu gibi, bu sorunu çözmek için farklı yolları vardır eminim.


Yinelenen

CEVAP
9 Ocak 2009, Cuma


Eğerxsabittir, aşağıdaki parametre genişleme çıkarma alt gerçekleştirir:

b=${a:12:5}

Eğer basamak giriş sadece onlar etrafında, alt çizgi, ön şerit ve iki adımda soneki:

tmp=${a#*_}
b=${tmp%_*}

Eğer diğer çizgi varsa, muhtemelen mümkün neyse, daha zor olsa da. Eğer herkes tek bir ifadede hem açılımları gerçekleştirmek için ne kadar biliyorsa ben de bilmek istiyorum.

Her iki çözüm saf bash, süreci yumurtlama ile çok hızlı dolayısıyla sundu.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jbignacio

    jbignacio

    13 Mart 2006
  • Jonnyriddlin1

    Jonnyriddlin

    4 Ocak 2007
  • Samantha Crain

    Samantha Cra

    30 EKİM 2008