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

  • dcigs

    dcigs

    9 EYLÜL 2006
  • ElChakotay Andrich

    ElChakotay A

    10 EKİM 2013
  • Grace Su

    Grace Su

    6 Ocak 2006