Portál AbcLinuxu, 17. července 2025 18:23


Dotaz: Grep pre viac riadkov - HP-UX

12.9.2004 11:08 Palo
Grep pre viac riadkov - HP-UX
Přečteno: 183×
Odpovědět | Admin
Zdravim. Ako je mozne pouzit grep pre nasledujuce/predchadzajuce riadky pre HP-UX?

Priklad:

Chcem grepovat vypis

PRD_HPI_OS+FILES_3_DAILY

09/13/04 04:45:00

PRD_HPI_OS+FILES_3_WEEKLY

09/19/04 04:45:00

OFF_PRD_HPI_OS+FILES_3

09/19/04 07:00:00

OFF_PRD_HPI_OS+FILES_4

09/13/04 15:00:00

tak, aby bol vypis

OFF_PRD_HPI_OS+FILES_3

09/19/04 07:00:00

?

V linuxoch funguje grep -A 5 -B 5 "expression" ktory vypise 5 predchadzajucich a 5 nasledujucich riadkov po grepovanom vyraze.

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

Odpovědi

12.9.2004 11:37 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: Grep pre viac riadkov - HP-UX
Odpovědět | | Sbalit | Link | Blokovat | Admin
kdybys napsal jaky grep to vlastne mas, bude to prima.

nejses ty nahodou cartman ktery se pta na to same v jinem threadu? nebo zacala skola a ucitelskej rozdaval na vasem ustavu domaci ulohy? :-)
-- Nezdar není hanbou, hanbou je strach z pokusu.
12.9.2004 11:42 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Grep pre viac riadkov - HP-UX
Pokud má na HP-UX nějaký grep, který to neumí, tak je to ten originální HP-UXový...
12.9.2004 11:45 cartman | skóre: 22
Rozbalit Rozbalit vše Re: Grep pre viac riadkov - HP-UX
to bola nahoda... ale je to o tom istom... sedime 2 metre od seba a riesime taky problem v robote...
12.9.2004 11:41 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Grep pre viac riadkov - HP-UX
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nejjednodušší možná bude zkompilovat si GNU grep, na HP-UX by to mělo jít.

Jinak by šlo zneužít option -n a vypsat pak explicitně řádky z čísly okolo, ale triviální to nebude... nebo to celé napsat v awk, vidím, že chceš vždy vypsat následující řádek, což je snadé:

awk '{if(x==1)print;x--} /REGEXP/{if(x)print;x=1}'

(GNU awk, ale a HP-UXovým by to mělo takhle nějak taky fungovat.)
12.9.2004 12:06 Martin Čížek | skóre: 20 | Praha
Rozbalit Rozbalit vše Re: Grep pre viac riadkov - HP-UX
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jak říká kolga Cartman: " Nahrada by mohla by awk...".
awk '/to_co_hledas/ {
        print prev
        print
        getline
        print
}
{
  prev = $0
}'
PS. Není to tak dlouhé, jak vypadá:

awk '/to_co_hledas/{print prev;print;getline;print}{prev=$0}'

;-)
Kdyby dva z nás byli dvěma z nich, všichni z nás by mohli být všemi z nich.

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.