Autor Zpráva
Pavlínka
Profil
Ahoj,
už druhý den hledám... jak v #bash vyhledat nějaký text, který není v souboru...
v proměnné mám text a chci podmínku velice podobné ereg() (z php5)
kde by mi IF řekl zda v textu nějaký řetězec je nebo ne...

Promenna="text text text text"
if [ Promenna ??? "hledany text"]...vypiš obsah...
Kajman
Profil
Nepomůže grep?
Pavlínka
Profil
grep umí vyhledávat pouze v souborech a složkách ne?
tomu jsem se právě chtěla vyhnout...

sice mohu vytvořit soubor a pak v něm hledat, připadá mi to ale zbytečně složité
Pavlínka
Profil
tak jsem na ten grep znovu koukla a vyřešila jsem to takto:

informace=$(echo "$promenna" | grep -o "hledam" | wc -l)

není to úplně elegantní řešení ale funguje to :)
mckay
Profil
Pavlínka:

Edit před odesláním, protože přišel nový příspěvek: Původně jsem chtěl doporučit něco na způsob, co jsi navrhla, ale napadá mě ještě jedna cesta. Nevím jak moc elegantnější, ale vizuálně asi hezčí:

if grep -o "hledam" <<< "$promenna"; then ...

Ty tři < jsou tzv. herestring. Kód jsem nezkoušel, protože nemám po ruce bash a už je to nějakou dobu, co jsem v něm naposledy něco psal, takže to nemusí být úplně syntakticky správně (ale myšlenka v tom doufám je :)).
Pavlínka
Profil
jsem po "noční" tak jdu už spát ale odpoledne vyzkouším, nevypadá to špatně
Děkuji
Kajman
Profil
Místo parametru -o bude pro testování bez vypisování lepší parametr -q

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0