Portál AbcLinuxu, 8. května 2025 04:38

Dotaz: Regexp pro egrep vyhledavani ve vice souborech na zaklade data

16.6.2015 12:21 Radomir
Regexp pro egrep vyhledavani ve vice souborech na zaklade data
Přečteno: 239×
Odpovědět | Admin
DD, zajimam se o moznost vyhledavani ve vice souborech za pomoci egrepu, soubory jsou ve tvaru mujlog-yyyy-mm-dd.log Jak bych pak sestavil regexp pro vyhledani v ramci dnu? od 1. do 20. napr? Neco jako egrep -C 10 "retezec" ./mujlog-2015-06-[01]-[20].log Diky za vas cas
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

16.6.2015 13:02 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
Rozbalit Rozbalit vše Re: Regexp pro egrep vyhledavani ve vice souborech na zaklade data
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tuhle část ./mujlog-2015-06-[01]-[20].log expanduje shell. Pokud je jím bash, pak lze použít Trochu to komplikuje ta nula na začátku, ale v zásadě mi tohle vždy stačilo.
-- OldFrog
16.6.2015 21:36 deadmail
Rozbalit Rozbalit vše Re: Regexp pro egrep vyhledavani ve vice souborech na zaklade data
-[1-20].log
takto NIE, -[1-20].log znamena jeden znak z mnoziny 1 az 2 + 0, teda splnaju tri subory:
-1.log
-2.log
-0.log
Regularny vyraz pre -"01-20".log moze byt -(0[1-9]|1[0-9]|20).log, ale pri expanzii by sa muselo nahradit -{0[1-9],1[0-9],20}.log a moze nastat problem ak ziadny subor v niektorej z troch casti neexistuje.

Ak nie je zarucene ze vsetky dni sa tam nachadazju, tak by riesenie mohlo byt - vylistovat zoznam suborov, vygrepovat regularnym vyrazom a potom v nich hladat.
16.6.2015 22:02 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
Rozbalit Rozbalit vše Re: Regexp pro egrep vyhledavani ve vice souborech na zaklade data
Eehm, máte pravdu, díky za opravu, toto je správné řešení:
-{0[1-9],1[0-9],20}.log
-- OldFrog
16.6.2015 22:27 jestli
Rozbalit Rozbalit vše Re: Regexp pro egrep vyhledavani ve vice souborech na zaklade data
Jen jestli se dá do složených závorek umístit rozsah tímto způsobem? Jinak by šlo i třeba ([01][1-9]|[12]O)
16.6.2015 22:29 jestli
Rozbalit Rozbalit vše Re: Regexp pro egrep vyhledavani ve vice souborech na zaklade data
Jen 0 nakonci místo velkého o
alles32 avatar 16.6.2015 21:53 alles32 | skóre: 15 | Evropa
Rozbalit Rozbalit vše Re: Regexp pro egrep vyhledavani ve vice souborech na zaklade data
Odpovědět | | Sbalit | Link | Blokovat | Admin
pic,

pouzij find kde je prepinac -atime pro hledani filetu dle stari.

find /cesta/k/logum/ -atime +19 -exec egrep 'retezec' '{}' \;
ales

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.