Portál AbcLinuxu, 26. dubna 2024 16:00


Dotaz: extrahovani radku obsahujiciho urcite cislo v shellu

26.11.2008 11:19 mapim | skóre: 18
extrahovani radku obsahujiciho urcite cislo v shellu
Přečteno: 238×
Odpovědět | Admin

ahoj,

potrebuju vytahnout ze velkeho souboru cele radky ktere obsahuji bud cislo x nebo cislo y. muzete mi prosim nekam navest?

moc diky!

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.11.2008 11:44 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: extrahovani radku obsahujiciho urcite cislo v shellu
Odpovědět | | Sbalit | Link | Blokovat | Admin

egrep 'x|y' nazevsouboru

26.11.2008 11:52 mapim | skóre: 18
Rozbalit Rozbalit vše Re: extrahovani radku obsahujiciho urcite cislo v shellu

mno, ja nevim, todle me nefunguje.

ja mam napriklad 4mistne cislo xxxx a yyyy a pokdu zadam grep nebo egrep xxxx vypise mi to vsechny radky, kde se vyskytuje tohle cislo, a to treba i cisla, ktera nejsou uz 4mistna ale 012xxxx345...

26.11.2008 11:58 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: extrahovani radku obsahujiciho urcite cislo v shellu
V tom případě upřesněte definici "obsahuje".
26.11.2008 14:56 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: extrahovani radku obsahujiciho urcite cislo v shellu

Ale funguje, akorát to dělá přesně to, co jste napsal, že chcete. Což je bohužel typický problém některých uživatelů.

Pokud těsně kolem toho čísla nemají být žádná jiná číslice, pak takhle:

egrep '[^0-9](x|y)[^0-9]' nazevsouboru

Jinak viz man grep.

26.11.2008 16:10 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: extrahovani radku obsahujiciho urcite cislo v shellu
Což také nemusí být úplně ono, protože to zase nechytne řádky, kde to číslo bude na začátku, na konci nebo úplně samo.
27.11.2008 10:33 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: extrahovani radku obsahujiciho urcite cislo v shellu

Detailisto :-)

egrep '(^|[^0-9])(x|y)($|[^0-9])' nazevsouboru

Pak existuje také ještě možnost určit, že hledaný výraz musí být celé slovo.

27.11.2008 10:47 mapim | skóre: 18
Rozbalit Rozbalit vše Re: extrahovani radku obsahujiciho urcite cislo v shellu

moc dekuji, udelal jsem to pomoci sql. nicmene tendle radek, co jste napsal funguje take ;)

27.11.2008 10:49 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: extrahovani radku obsahujiciho urcite cislo v shellu
udelal jsem to pomoci sql

Skoro se bojím zeptat na detaily… :-)

27.11.2008 11:26 mapim | skóre: 18
Rozbalit Rozbalit vše Re: extrahovani radku obsahujiciho urcite cislo v shellu

ale to se nemusite vubec bat :) neni totiz vubec ceho. kod byl pravda trosku delsi, ze, nicmene to splnilo to co jsem potreboval. vedel jsem, ze to pujde udelat sofistikovaneji, proto jsem se zeptal. a ten kdo vedel, rekl :)  a ja mu timto dekuji, protoze priste misto 20 radku napisu uz jen par slov :) a az se priste nekdo zepta me, budu tuto informaci sdilet take..

26.11.2008 11:51 mlz
Rozbalit Rozbalit vše Re: extrahovani radku obsahujiciho urcite cislo v shellu
Odpovědět | | Sbalit | Link | Blokovat | Admin
egrep "x|y" soubor #uvozovky escapuji pipu

26.11.2008 11:54 mapim | skóre: 18
Rozbalit Rozbalit vše Re: extrahovani radku obsahujiciho urcite cislo v shellu

zkousel jsem pouzit '^xxxx' nebo '^xxxx^' atd, ale bez vysledku....

26.11.2008 12:05 mapim | skóre: 18
Rozbalit Rozbalit vše Re: extrahovani radku obsahujiciho urcite cislo v shellu

abych upresnil, zkousel jsem jak "^xxxx" tak '^xxxx' nebo "^xxxx^" ale i '^xxxx^' ale ve vsech pripadech shell mlci.

26.11.2008 12:09 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: extrahovani radku obsahujiciho urcite cislo v shellu
Za prvé: shell s tím nemá nic společného, ty regulární výrazy interpretuje (e)grep. Za druhé: bylo by dobré si místo zkoušení naslepo o těch regulárních výrazech něco přečíst. Za třetí: nejdřív byste měl přesně definovat, co myslíte výrazem "obsahuje", bez toho nemá smysl dotaz vůbec řešit.
27.11.2008 10:34 mapim | skóre: 18
Rozbalit Rozbalit vše Re: extrahovani radku obsahujiciho urcite cislo v shellu

panove, ja vam moc dekuji. sice to porad nefunguje, ale ja si to nekde najdu

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.