Fórum Root.cz
		Hlavní témata => Vývoj => Téma založeno: Vávra V.  18. 02. 2013, 13:53:13
		
			
			- 
				Dobrý den, poradíl by někdo jak můžu v bashi zjistit jestli proměnná obsahuje pouze jednu tečku? Děkuji za pomoc 
V.V.
			 
			
			- 
				Asi nemyslíte toto:
[ "$x" = '.' ]
že? :)
Ptáte se, zda řetězec obsahuje právě nebo nanejvýš jednu tečku?
			 
			
			- 
				Co třeba tohle:
echo $x | grep -q '^[^.]*\.[^.]*$'
			 
			
			- 
				
Ptáte se, zda řetězec obsahuje právě nebo nanejvýš jednu tečku?
Omlouvám se, napsal jsem to špatně!
Potřebuji podmínku, která vyhodnotí jestli je v řetězci pouze jedna jediná tečka.
Děkuji
			 
			
			- 
				Trochu těžkotonážní, ale bez dlouhého hrání si s regulárama:
$ echo "Bob a Bobek"|awk 'BEGIN { FS="." } {print NF}'
1
$ echo "Bo.b a Bobek"|awk 'BEGIN { FS="." } {print NF}'
2
$ echo "Bo.b a Bob.ek"|awk 'BEGIN { FS="." } {print NF}'
3
$ echo "Bo.b a Bob.ek."|awk 'BEGIN { FS="." } {print NF}'
4
$ echo ""|awk 'BEGIN { FS="." } {print NF}'
0
$ echo "."|awk 'BEGIN { FS="." } {print NF}'
2
$ echo "...."|awk 'BEGIN { FS="." } {print NF}'
5
			 
			
			- 
				Nebo:
$ echo "Bob a Bobek"|egrep -o '\.'
$ echo "Bob a. Bobek"|egrep -o '\.'
.
$ echo "Bob a. Bob .ek"|egrep -o '\.'
.
.
$ echo "Bob a. Bob .ek ."|egrep -o '\.'
.
.
.
$ echo "Bob a. Bob .ek ."|egrep -o '\.'
.
.
.
$ echo "                                         ."|egrep -o '\.'
.
$ echo "        .                                 ."|egrep -o '\.'
.
.
			 
			
			- 
				Jde to i pomoci prostredku samotneho bashe:
case "$promenna" in
  *.*.*) echo vic nez jedna tecka;;
  *.*) echo jedna tecka;;
  *) echo zadna tecka;;
esac
			 
			
			- 
				A co takhle:
$x="Nejakej text co chci testovat"
$a="znak ktery hledam"
# Tohle vrati pocet okurenci v radku
echo $x | grep -o "$a" | wc -l 
a pak uz jenom podminka pro pocet okurenci ktere pozaduji...
			 
			
			- 
				Díky, díky ;)
Chlapy a jak by se dalo jednoduše zjistit jestli proměnná obsahuje správný tvar a znaky pro doménu?
Čili jen 0-9, -, a-z a nesmí začínat ani končit jiným znakem než 0-9 nebo a-z?
Děkuji za pomoc
			 
			
			- 
				
Díky, díky ;)
Chlapy a jak by se dalo jednoduše zjistit jestli proměnná obsahuje správný tvar a znaky pro doménu?
Čili jen 0-9, -, a-z a nesmí začínat ani končit jiným znakem než 0-9 nebo a-z?
Děkuji za pomoc
Hm.
http://www.regular-expressions.info/examples.html (http://www.regular-expressions.info/examples.html)
http://net.tutsplus.com/tutorials/other/8-regular-expressions-you-should-know/ (http://net.tutsplus.com/tutorials/other/8-regular-expressions-you-should-know/)
http://en.wikipedia.org/wiki/Regular_expression (http://en.wikipedia.org/wiki/Regular_expression)
			 
			
			- 
				 :o
[[ $ajta =~ $krajta ]]
			 
			
			- 
				
Hm.
http://www.regular-expressions.info/examples.html (http://www.regular-expressions.info/examples.html)
http://net.tutsplus.com/tutorials/other/8-regular-expressions-you-should-know/ (http://net.tutsplus.com/tutorials/other/8-regular-expressions-you-should-know/)
http://en.wikipedia.org/wiki/Regular_expression (http://en.wikipedia.org/wiki/Regular_expression)
Tak jsem to nesesmolil, nějaký lepší typ? Díky
			 
			
			- 
				Ty vole proc by ti to nekdo mel jako komplet psat?
Napis co presne nepochopils z tech odkazu, co si uz zkousel a melo to delat, ale nedela. Vocasum, co maj nulovou snahu, nas...
			 
			
			- 
				Tazatel neumi pouzivat google? :) Jak je to s tou rybou a prutem? Nauc chytat, nedavej rybu?  8)
Co treba... http://stackoverflow.com/questions/1128168/validation-for-url-domain-using-regex-rails (http://stackoverflow.com/questions/1128168/validation-for-url-domain-using-regex-rails) ??
			 
			
			- 
				
Jde to i pomoci prostredku samotneho bashe:
case "$promenna" in
  *.*.*) echo vic nez jedna tecka;;
  *.*) echo jedna tecka;;
  *) echo zadna tecka;;
esac
Hezké řešení!
			 
			
			- 
				
Jde to i pomoci prostredku samotneho bashe:
case "$promenna" in
  *.*.*) echo vic nez jedna tecka;;
  *.*) echo jedna tecka;;
  *) echo zadna tecka;;
esac
retezec "..aaa"? :)
Hezké řešení!