Portál AbcLinuxu, 10. května 2025 03:04
ahoj,
potrebuju vytahnout ze velkeho souboru cele radky ktere obsahuji bud cislo x nebo cislo y. muzete mi prosim nekam navest?
moc diky!
egrep 'x|y' nazevsouboru
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...
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.
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.
moc dekuji, udelal jsem to pomoci sql. nicmene tendle radek, co jste napsal funguje take ;)
udelal jsem to pomoci sql
Skoro se bojím zeptat na detaily… :-)
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..
egrep "x|y" soubor
#uvozovky escapuji pipu
zkousel jsem pouzit '^xxxx' nebo '^xxxx^' atd, ale bez vysledku....
abych upresnil, zkousel jsem jak "^xxxx" tak '^xxxx' nebo "^xxxx^" ale i '^xxxx^' ale ve vsech pripadech shell mlci.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.