Søgning i tekst og filer

kommandoen grep
kommandoen/programmet grep er et søge værktøj til at søge i tekst dokumenter og configurations filer i kommando promten/terminalen en søgning med grep vil altid resultere i at når et resultat forekommer vil den vise hele den linje hvor der er en match grep har mange argumenter her vil jeg gennemgå nogle få som jeg finder ganske brugbare grundkommandoen har i jo nok regnet ud men her er den aligevel
grep
jup ganske simpelt syntaxen er følgende grep argumenter søgeord navn på fil at søge i her kommer så et par praktiske eksempler med anvendelse som i samme åndedrag forklarer nogle af argumenterne.
Grep kan tage basal søgning:
grep søgeord filnavn
dette vil søge på det givne ord i den fil du angiver og vise dig den eller de linjer hvor ordet forekommer det skal siges det blot kan være et enkelt eller få sammenhængende bokstaver så vil den søge efter forekomsterne det behøver ikke være hele ord
alternativ:
grep -e søgeord 1 -e søgeord 2 filnavn
Dette kan du bruge hvis du har flere søgeord som ikke hænger sammen nu begynder vi med flere af argumenterne til grep
Søg og undlad et eller flere søgeord:
For at søge gennem en fil for alt andet end søge kreteriet er der også et argument det kommer her:
grep -v søgeord der skal undlades i resultatet filnavn
Denne kan ikke anvendes på flere ord ad gangen.
nummerering af resultat linjer:
For at få nummereret resultat linjerne findes der også et argument jeg vil gå tilbage til det mest basale udgangspunkt for at holde dette dokument let og overskueligt
grep -n søge ord fil navn nu vil den matche søgeordet hvis den kan i den angivne fil og nummerer resultats linjerne.
antal søge matches i grep:
Hvis du blot vil have at vide hvor mange linjer der er en match på i din søgning så kommer her endnu et argument du kan bruge på grep
grep -c søge ord fil navn
Resultatet af det kan fx være 2 hvis der er to linjer der har en match på søgeordet
søgning med regular expression:
grep virker via regular expressions her er den ene jeg har anvendt indtil nu men som også virker fint først en søgning efter søge ordet den kommer her:
grep -e abc filnavn
Dette vil vise alle de linjer hvor enten a eller b eller c indgår i en hvilken somhelst kombination eller sammenhæng dette er noget lettere end at have gjort det på den måde vi hid til har kendt på den anden måde ville vi skulle have skrevet således:
grep -e a -e b -e c
For at få det samme resultat så er det andet sørme noget nemmere vi har tidligere set at man ikke kan indkludere flere ord der skal udelades well det kan man godt hvis man gør sådan her
grep -v abc
Nu vil den udelade alle linjer der indeholder a b eller c måske ikke særlig praktisk men da teknikken er regular expression kan du sikkert hvis du studere regular expression lidt finde ud af hvordan du med regexp som det hedder får lavet søge strenge som enten leder efter eller undlader lige netop de ord du vil have jeg ønsker dog ikke for nu at lave en artikel om regular expression ud over hvad jeg har gjort her jeg håber det var udbytterigt.