OFF-TOPIC: Bash a regexp matching

Alexej Sveshnikov svesh na seznam.cz
Pátek Srpen 5 09:26:15 CEST 2005


Borek Lupomesky wrote:
>    Podle dokumentace by v bashi melo fungovat matchovani regularnich vyrazu asi takto:
> 
>    [[ $X == ^abc.+ ]] && echo "MATCH"
> 
>    Ale jak se snazim jak chci, tak mi to nefunguje. Co delam spatne?
> 
>    Bye Borek
> 

Bash 2 pouziva misto regularnich vyrazu neco jako file name globbing. Pokud 
chcete vypsat vsechny soubory zacinajici na "a" tak prece nenapisete 'ls a', 
ale 'ls a*'. Proto nebude fungovat
[[ "aaa" == a ]]
ale bude
[[ "aaa" == a* ]]

Operator ^ neni podporovan. Na druhou stranu, hledani automaticky zacina na 
zacatku retezce, proto vlastne ani neni k zapotrebi. Ve vasem pripade staci 
podminka

[[ "$X" == abc* ]] && echo Ok || echo No

Hezky den preji,
   Alexej Sveshnikov




Další informace o konferenci Linux