Portál AbcLinuxu, 12. května 2025 09:00

Dotaz: Bash/Shell - Jak zjisit jestli je první znak stringu znak z abecedy?

14.8.2012 13:57 Martin
Bash/Shell - Jak zjisit jestli je první znak stringu znak z abecedy?
Přečteno: 406×
Odpovědět | Admin
Ahoj, neporadil by mi někdo jak bych mohl zjistit jestli je v proměnné $VAR první znak z abecedy (ze to neni cislovka or specialni znaky). Díky za pomoc

Řešení dotazu:


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

Odpovědi

Jesus Jimenez avatar 14.8.2012 14:12 Jesus Jimenez | skóre: 29
Rozbalit Rozbalit vše Re: Bash/Shell - Jak zjisit jestli je první znak stringu znak z abecedy?
Odpovědět | | Sbalit | Link | Blokovat | Admin
x='abc' if [[ $x[1] =~ [[:alpha:]] ]]; then echo "ok"; else echo "ko"; fi
Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy
Jesus Jimenez avatar 14.8.2012 14:13 Jesus Jimenez | skóre: 29
Rozbalit Rozbalit vše Re: Bash/Shell - Jak zjisit jestli je první znak stringu znak z abecedy?
Zmizelo mi radkovani. Takze za 'abc' jeste strednik. A misto x si dejte VAR.
Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy
Jesus Jimenez avatar 14.8.2012 14:18 Jesus Jimenez | skóre: 29
Rozbalit Rozbalit vše Re: Bash/Shell - Jak zjisit jestli je první znak stringu znak z abecedy?
A zaroven se na to nekoukejte, protoze $x[1] chodi jen v zsh.

V bash asi neco jako ${x:0:1}, resp ${VAR:0:1}
Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy
Řešení 1× (Jesus Jimenez)
14.8.2012 14:44 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Bash/Shell - Jak zjisit jestli je první znak stringu znak z abecedy?
Když už stejně používáte matchování regulárního výrazu, tak stačí rovnou celý string matchovat na '^[[:alpha:]]'.
Jesus Jimenez avatar 14.8.2012 14:47 Jesus Jimenez | skóre: 29
Rozbalit Rozbalit vše Re: Bash/Shell - Jak zjisit jestli je první znak stringu znak z abecedy?
jj
Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy
14.8.2012 15:02 Martin
Rozbalit Rozbalit vše Re: Bash/Shell - Jak zjisit jestli je první znak stringu znak z abecedy?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak jaky je tedy výsledek? Díky
Jesus Jimenez avatar 14.8.2012 16:40 Jesus Jimenez | skóre: 29
Rozbalit Rozbalit vše Re: Bash/Shell - Jak zjisit jestli je první znak stringu znak z abecedy?
if [[ $VAR =~ ^[[:alpha:]] ]]; then 
  echo "prvni znak je pismeno";
else
  echo "prvni znak neni pismeno";
fi
Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy
14.8.2012 17:43 Jarek
Rozbalit Rozbalit vše Re: Bash/Shell - Jak zjisit jestli je první znak stringu znak z abecedy?
Díky moc. Snažím se pochopit to vaše zadání ale nějak mi to nejde.. A kdybych to chtěl použít opačně? Čili kdybych chtěl kontrolovat poslední znak v řetězci? Děkuji
14.8.2012 18:42 Kit
Rozbalit Rozbalit vše Re: Bash/Shell - Jak zjisit jestli je první znak stringu znak z abecedy?
To přece bude skoro stejné
if [[ $VAR =~ [[:alpha:]]$ ]]; then 
  echo "posledni znak je pismeno";
else
  echo "posledni znak neni pismeno";
fi

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.