Ga naar inhoud

[grep] Ik zoek twee trucjes te gebruiken in een "pipe&q


anoniem

Aanbevolen berichten

Wie helpt mij op weg met de volgende twee vraagjes over grep gebruikt in (met?) een pipe? 1) Wat is een kortere notatie voor:[code:1:21261b20e5]commando | grep zoekterm1 | grep zoekterm2[/code:1:21261b20e5]2)Hoe zoek je op zoekterm1 zonder zoekterm2? Dus iets van [code:1:21261b20e5]commando | grep zoekterm1 | grep !zoekterm2[/code:1:21261b20e5]
Link naar reactie
[quote:261620b84b="PeBo"]Wie helpt mij op weg met de volgende twee vraagjes over grep gebruikt in (met?) een pipe? 1) Wat is een kortere notatie voor:[code:1:261620b84b]commando | grep zoekterm1 | grep zoekterm2[/code:1:261620b84b][/quote:261620b84b]Zet de zoekwoorden in een bestand en gebruik [code:1:261620b84b]commando | grep -f bestand[/code:1:261620b84b][quote:261620b84b="PeBo"]2)Hoe zoek je op zoekterm1 zonder zoekterm 2? Dus iets van [code:1:261620b84b]commando | grep zoekterm1 | grep !zoekterm2[/code:1:261620b84b][/quote:261620b84b]Gebruik hievoor[code:1:261620b84b]commando | grep -v zoekterm1[/code:1:261620b84b]Als je bestanden wilt gebruiken kun je[code:1:261620b84b]commando | grep -f bestand1 | grep -v -f bestand2[/code:1:261620b84b]
Link naar reactie
grep is regel-gebaseerd; dat is goed om in het achterhoofd te houden. commando | grep zoekterm1 laat dus alleen [u:d151ad2824]regels[/u:d151ad2824] door die zoekterm1 bevatten. grep -v zoekterm2 laat regels waarin zoekterm2 niet voorkomt door. commando | grep zoekterm1 | grep -v zoekterm2 laat dus de regels door die zoekterm1 wel bevatten en zoekterm2 niet.
Link naar reactie
een kortere notatie voor commando | grep term1 | grep term2 is volgens mij niet zo intuïtief je wilt dus dat alleen regels worden doorgelaten waar zowel term1 als term2 in voorkomt. dat kan bijvoorbeeld zo: commando | grep 'term1.*term2' de combinatie '.*' betekent: 0 of meer willekeurige karakters. maar deze laat alleen regels door waar term1 vóór term2 staat. Als je ook andersom wilt, moet je egrep gebruiken (krachtiger (extended) regexps worden daarmee mogelijk): commando | egrep 'term1.*term2|term2.*term1' Wie weet er een slimmere manier met grep? Met sed of awk wordt het makkelijker: Sed: commando | sed -n '/term1/p;/term2/p' Awk: commando | awk '/term1/||/term2/ {print}'
Link naar reactie
Heren (?), bedankt voor het meedenken. Vooral[code:1:e39ae29929]grep -v zoekterm[/code:1:e39ae29929]en de variant in sed hielpen mij op weg. Mocht ik eens tegen iets kortere commando's aanlopen dan meld ik die hier nog even ... meer een luxeprobleem: zo'n dubbele pipe is natuurlijk op zich goed te doen. Zondagse overpeinzing: het is aardig om te merken dat ik - opgevoed onder Microsoft Windows, want met DOS deed ik eigenlijk weinig - onder Linux steed vaker de Konsole (van KDE dus) opentrek. Allerhande klusjes gaan simpelweg makkelijker, sneller etc in de Konsole. Alleen het vinden van de handigste commando's wil nog wel eens lastig zijn ...
Link naar reactie
Soms is man inderdaad een goede vriend. Zelf gebruik ik het echter vooral als naslagwerk (hoe doe je ook alweer ...? etc) en minder om iets helemaal nieuws te leren. Daarvoor zijn handboeken, tijdschriften, dit forum en dergelijke naar mijn idee prettiger. Ik vind man overigens wel handiger dan info, daar ben ik nog steeds niet aan gewend. 't Zal wel aan mij liggen ...
Link naar reactie
[quote:cfba8d69f8="PeBo"]Soms is man inderdaad een goede vriend. Zelf gebruik ik het echter vooral als naslagwerk (hoe doe je ook alweer ...? etc) en minder om iets helemaal nieuws te leren. Daarvoor zijn handboeken, tijdschriften, dit forum en dergelijke naar mijn idee prettiger. Ik vind man overigens wel handiger dan info, daar ben ik nog steeds niet aan gewend. 't Zal wel aan mij liggen ...[/quote:cfba8d69f8] nee, dat ligt niet aan jou info is van die waardeloze gnu shit... een idee van zo'n gast die dacht de wereld wel ff te veranderen en dus meteen maar een mooie goed werkende manual functie wilde vervangen... (vandaar dat je soms bij gnu proggies 'see info ? for more information' tegenkomt. ok, dat was idd een beetje FI ;)
Link naar reactie
  • 3 weken later...
Vandaag vond ik ergens op [url=slashdot.org]slashdot[/url] deze truc om infopages behapbaar te houden:[code:1:730727ccf7]info sed --subnodes --output - | less[/code:1:730727ccf7]Zo lijkt info opeens erg op man! Overigens werkt[code:1:730727ccf7]info:/sed[/code:1:730727ccf7]als url in het onvolprezen Konquereor ook héél aardig. (sed is in beide gevallen maar een voorbeeld ...)
Link naar reactie
Tja hoelanger je grafish werk hoemeer je je shall ga waarderen denk ik weleens :D enne die computers zijn er toch om alles makkelijker te maken :oops: Trouewens wbt. man && info.... Ik (met mijn achtergrond als houtzager) vind het nog altijd jammer dat er zo weinig manpages zijnwaar eens een voorbeelld gegeven wordt .
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...