Portál AbcLinuxu, 1. listopadu 2025 11:38
Budeme-li předpokládat, že "pouze jednu" znamená "právě jednu", tak třeba
if [ "${a//[!.]/}" = "." ]; then
    ...
fi
Pokud to má znamenat "nejvýše jednu", tak např.
if [ "${a%.*}" = "${a%%.*}" ]; then
    ...
fi
            UF, absolutně nevím co jste tím myslel, teď jste mě dostal :D :D :D Potřebuji podmínku, která zjistí jestlí nějaká proměnná obsahuje pouze jednu jedinou tečku ;)Budeme-li předpokládat, že "pouze jednu" znamená "právě jednu", tak třeba
Pokud to má znamenat "nejvýše jednu", tak např.
[[ "$promenna" == "." ]] && echo "Proměnná promenná obsahuje pouze jednu jedinou tečku a njic víc?":D
[[ $promenna =~ ^[^.]*\.[^.]*$ ]] && echo "Proměnná $promenna obsahuje právě jednu tečku."Pro starší verze či jiné shelly třeba:
echo $promenna | grep -q "^[^.]*\.[^.]*$" [[ $? -eq 0 ]] && echo "Proměnná $promenna obsahuje právě jednu tečku."Nebo pokud vám stačí poznat, že proměnná obsohuje nejvýše jednu tečku (tedy jednu nebo žádnou) tak třeba takto:
[[ ${promenna#*.} == ${promenna##*.} ]] && echo "Promenna $promenna není vícetečková."
Asi by to šlo i nějak jednoduššeji.
             BTW: a kdybych potřeboval v budoucnu zjistit jestli proměnná neobsahuje žádnou tečku? Jak by to šlo jednoduše zjistit. Děkuji
BTW: a kdybych potřeboval v budoucnu zjistit jestli proměnná neobsahuje žádnou tečku? Jak by to šlo jednoduše zjistit. Děkuji
            
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.