Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Vávra V. 18. 02. 2013, 13:53:13

Název: Bash a podmínka s tečkou
Přispěvatel: 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.
Název: Re:BASH - Podmínka
Přispěvatel: Jakub Neburka 18. 02. 2013, 14:08:45
Asi nemyslíte toto:
Kód: [Vybrat]
[ "$x" = '.' ]
že? :)

Ptáte se, zda řetězec obsahuje právě nebo nanejvýš jednu tečku?
Název: Re:BASH - Podmínka
Přispěvatel: Jakub Neburka 18. 02. 2013, 14:11:51
Co třeba tohle:

Kód: [Vybrat]
echo $x | grep -q '^[^.]*\.[^.]*$'
Název: Re:BASH - Podmínka
Přispěvatel: Vávra V. 18. 02. 2013, 14:30:17
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
Název: Re:Bash a podmínka s tečkou
Přispěvatel: hawran diskuse 18. 02. 2013, 14:58:04
Trochu těžkotonážní, ale bez dlouhého hrání si s regulárama:

Kód: [Vybrat]
$ 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

Název: Re:Bash a podmínka s tečkou
Přispěvatel: hawran diskuse 18. 02. 2013, 15:01:46
Nebo:

Kód: [Vybrat]
$ 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 '\.'
.
.

Název: Re:Bash a podmínka s tečkou
Přispěvatel: Milan Straka 18. 02. 2013, 16:45:54
Jde to i pomoci prostredku samotneho bashe:

Kód: [Vybrat]
case "$promenna" in
  *.*.*) echo vic nez jedna tecka;;
  *.*) echo jedna tecka;;
  *) echo zadna tecka;;
esac
Název: Re:Bash a podmínka s tečkou
Přispěvatel: smoofy 18. 02. 2013, 16:54:16
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...
Název: Re:Bash a podmínka s tečkou
Přispěvatel: Vávra V. 18. 02. 2013, 17:22:48
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
Název: Re:Bash a podmínka s tečkou
Přispěvatel: hawran diskuse 18. 02. 2013, 17:38:28
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)
Název: Re:Bash a podmínka s tečkou
Přispěvatel: . 18. 02. 2013, 17:43:52
 :o
[[ $ajta =~ $krajta ]]
Název: Re:Bash a podmínka s tečkou
Přispěvatel: Vávra V. 18. 02. 2013, 20:19:27
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
Název: Re:Bash a podmínka s tečkou
Přispěvatel: # 18. 02. 2013, 21:42:53
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...
Název: Re:Bash a podmínka s tečkou
Přispěvatel: Tom222 19. 02. 2013, 09:40:06
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) ??
Název: Re:Bash a podmínka s tečkou
Přispěvatel: Jakub Neburka 19. 02. 2013, 10:53:45
Jde to i pomoci prostredku samotneho bashe:

Kód: [Vybrat]
case "$promenna" in
  *.*.*) echo vic nez jedna tecka;;
  *.*) echo jedna tecka;;
  *) echo zadna tecka;;
esac

Hezké řešení!
Název: Re:Bash a podmínka s tečkou
Přispěvatel: Tom222 19. 02. 2013, 17:19:09
Jde to i pomoci prostredku samotneho bashe:

Kód: [Vybrat]
case "$promenna" in
  *.*.*) echo vic nez jedna tecka;;
  *.*) echo jedna tecka;;
  *) echo zadna tecka;;
esac

retezec "..aaa"? :)

Hezké řešení!