Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: frca 09 Srpna 2010, 15:31:16

Název: Prohledání textu
Přispěvatel: frca 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.
Název: Re: Prohledání textu
Přispěvatel: pacholik 09 Srpna 2010, 15:41:58
Pro vyhledávání grep (http://www.abclinuxu.cz/clanky/navody/unixove-nastroje-10-echo-grep#grep), pro ten zbytek sed (http://www.abclinuxu.cz/clanky/navody/unixove-nastroje-9-sed-nahrazovani-textu), možná cut (http://www.abclinuxu.cz/clanky/navody/unixove-nastroje-7-tr-cut-sort-a-uniq#cut). Kdyžtak to napiš konkrétně.
Název: Re: Prohledání textu
Přispěvatel: frca 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.
Název: Re: Prohledání textu
Přispěvatel: pacholik 09 Srpna 2010, 16:37:36
přepínač -o
Název: Re: Prohledání textu
Přispěvatel: frca 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)?
Název: Re: Prohledání textu
Přispěvatel: pacholik 09 Srpna 2010, 18:04:39
pro konec řádku je regexp $
Kód: [Vybrat]
$ cat foo
abc
def
ghi
$ grep c$ foo
abc