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

  • androidandme

    androidandme

    10 Mart 2009
  • grickle

    grickle

    22 AĞUSTOS 2006
  • SketchBookPro

    SketchBookPr

    6 Mayıs 2009