Portál AbcLinuxu, 17. července 2025 12:34


Dotaz: unix - prikaz IF

6.6.2002 15:47 Cerny Jozka
unix - prikaz IF
Přečteno: 461×
Odpovědět | Admin
jak napsat prikaz if, aby: potrebuji otestovat, zda v retezci1 je obsazen (nikoliv roven) retezec2. obsazen = jen urcita cast, napr. if abcds = cd => ano if abcds = rt => ne dekuji odpovede
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.6.2002 16:51 Jozef Vondrák | skóre: 19
Rozbalit Rozbalit vše unix - prikaz IF
Odpovědět | | Sbalit | Link | Blokovat | Admin
pouzij: man expr - tam je nejaka moznost. Klicove slovo match + regularni vyraz. Potom pres IF zkontroluj navratovou hodnotu prikazu expr
6.6.2002 17:03 Cerny Jozka
Rozbalit Rozbalit vše unix - prikaz IF
sorry ze jsem Te zamestnal :), ale dost jsem to potreboval. Na druhou stranu, jak premyslim, je skoda ze uz nemam zadny dotaz :)) - jedna z mala diskusi kde opravdu poradi. diky moc!! Jozka
7.6.2002 10:27 Cerny Jozka
Rozbalit Rozbalit vše unix - prikaz IF
prece jenom, fungujete to perfektne, pokud retezec1 zacina retezcem 2, tj. ABCD = AB => ano, ale ja bych potreboval otestovat "vnitrni" string, tj. ABCD = BC => ano - to my hlasi chybu nenalezeno Poradis mi jeste?

PS: Datum jsem otestoval a jsem nadsen! :))

7.6.2002 12:27 Jozef Vondrák | skóre: 19
Rozbalit Rozbalit vše unix - prikaz IF
Nevim jak/jestli používáš regulární výrazy. Pokud ano, pak problém je v nich. Chtělo by to na začátek reg. výrazu zadat ZNAK pro cokoliv. Jinak co se týká reg. výrazů tak jsem na tenkém ledě.
7.6.2002 12:56 Jozka Cerny
Rozbalit Rozbalit vše unix - prikaz IF
expr $TEXT1 : AB if [ $? -eq 0 ] then echo "---> naslo" else echo "---> nenaslo" fi

- znak pro cokoliv je * ne? ale pokud dam expr $TEXT1 : *AB* - tak nic nenajde

7.6.2002 13:27 Karel VAIGL
Rozbalit Rozbalit vše unix - prikaz IF
no nevim presne jake RE pouziva expr, ale normalne je znak pro cokoliv ".". znak "*" znamena ze predchazejici element se muze opakovat 0-n krat (kde n je libovolne cislo).
7.6.2002 13:28 Jozef Vondrák | skóre: 19
Rozbalit Rozbalit vše unix - prikaz IF
Zkus dát hvězdu do závorek (*). * není vždy výrazem pro cololiv v reg. výrazech. Zkus "man 7 regex" - já z toho nejsem moudrej. Myslím, že na Rootu byl o tom nějaký článek.
7.6.2002 13:49 Jozka Cerny
Rozbalit Rozbalit vše unix - prikaz IF
diky "man regex" jsem na to prisel (samozrejme 99.9% zasluhy mas na tom Ty). Ted muzu aspon zasa ja Tobe naspat finalni a hlavne funkcni reseni:

TEXT1=ABCDEFGH expr $TEXT1 : .*DE if [ $? -eq 0 ] then echo "---> naslo" else echo "---> nenaslo" fi

Diky!!!!!!!!!!!!!!!!!!!!

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.