Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Prohledání textu  (Přečteno 1286 krát)

frca

  • Návštěvník
  • Příspěvků: 66
Prohledání textu
« kdy: 09 Srpna 2010, 15:31:16 »
Zdravím,
potřebuju načíst text ze stdin a hledat v něm pomocí regulárního výrazu. Vypíše se pouze první nalezený podřetězec, případně nic, pokud se nic nenajde. Je nějaký takový nástroj použitelný v bashi? Díky.
PS: Poddotaz: Ještě by se hodilo, kdyby uměl v případě regulárního výrazu zadaného jako "levacast(strednicast)pravacast" vypsat pouze strednicast.
2*b|~(2*b)

pacholik

  • Závislák
  • ***
  • Příspěvků: 2072
Re: Prohledání textu
« Odpověď #1 kdy: 09 Srpna 2010, 15:41:58 »
Pro vyhledávání grep, pro ten zbytek sed, možná cut. Kdyžtak to napiš konkrétně.

frca

  • Návštěvník
  • Příspěvků: 66
Re: Prohledání textu
« Odpověď #2 kdy: 09 Srpna 2010, 16:15:05 »
Já jsem si myslel, že grep najde vždycky celý řádek. Jenže já potřebuju jenom část přesně odpovídající zadanému regexpu.
2*b|~(2*b)

pacholik

  • Závislák
  • ***
  • Příspěvků: 2072
Re: Prohledání textu
« Odpověď #3 kdy: 09 Srpna 2010, 16:37:36 »
přepínač -o

frca

  • Návštěvník
  • Příspěvků: 66
Re: Prohledání textu
« Odpověď #4 kdy: 09 Srpna 2010, 17:39:12 »
Ještě mám jeden související dotaz:
Dá se grepnout regexp obsahující \n (znak nového řádku)?
2*b|~(2*b)

pacholik

  • Závislák
  • ***
  • Příspěvků: 2072
Re: Prohledání textu
« Odpověď #5 kdy: 09 Srpna 2010, 18:04:39 »
pro konec řádku je regexp $
Kód: [Vybrat]
$ cat foo
abc
def
ghi
$ grep c$ foo
abc

 

Provoz zaštiťuje spolek OpenAlt.