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

  • Autocar

    Autocar

    11 Mart 2006
  • Boiler Room

    Boiler Room

    10 Mayıs 2012
  • Rockstar Games

    Rockstar Gam

    17 ŞUBAT 2006