Portál AbcLinuxu, 19. dubna 2024 11:49


Dotaz: BASH vyjmutí čísla z řetězce

22.12.2008 12:18 Zmije
BASH vyjmutí čísla z řetězce
Přečteno: 357×
Odpovědět | Admin

Zdravim, potřeboval bych z řetězce vyříznout n ciferné číslo, které může být v řetězci umístěno na libovolném místě, ale pouze jedno. Chtěl jsem to udělat takto

cislo=${retezec#[!0-9]...}

Ale nevim, jak se zapíše libovolný počet výskytů konkrétního znaku.

 

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.12.2008 12:33 ams
Rozbalit Rozbalit vše Re: BASH vyjmutí čísla z řetězce
Odpovědět | | Sbalit | Link | Blokovat | Admin

Pokud to chcete vyslovene v Bashi, pak bude fungovat cislo=${retezec//[^0-9]}. Lepsi ale mozna bude neco ve stylu cislo=`echo $retezec | sed 's/[^0-9]//g'`

 

22.12.2008 12:46 Zmije
Rozbalit Rozbalit vše Re: BASH vyjmutí čísla z řetězce

Jakou má výhodu použití sedu? Je to rychlejší?

22.12.2008 13:05 ams
Rozbalit Rozbalit vše Re: BASH vyjmutí čísla z řetězce

Prenositelnejsi. Mozna jednoho dne budete chtit spustit svuj skript na FreeBSD, Solarisu nebo necem jinem.

 

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.