logo

grep-opdracht in Unix/Linux

Degrep>command in Unix/Linux is een krachtig hulpmiddel dat wordt gebruikt voor het zoeken en manipuleren van tekstpatronen in bestanden. De naam is afgeleid van het ed (editor) commando g/re/p (algemeen zoeken naar reguliere expressies en overeenkomende regels afdrukken), wat de kernfunctionaliteit ervan weerspiegelt.grep>wordt veel gebruikt door programmeurs, systeembeheerders en gebruikers vanwege de efficiëntie en veelzijdigheid bij het verwerken van tekstgegevens. In dit artikel gaan we dieper in op de verschillende aspecten van degrep>commando.

Inhoudsopgave



javapunt java

Syntaxis van grep-opdracht in Unix/Linux

De basissyntaxis van de ` grep`> opdracht is als volgt:

  grep [options] pattern [files]>

Hier,

[> options> ]>: Dit zijn opdrachtregelvlaggen die het gedrag van wijzigengrep>.



[> pattern> ]>: Dit is de reguliere expressie waarnaar u wilt zoeken.

[> file> ]>: Dit is de naam van de bestanden waarin u wilt zoeken. U kunt meerdere bestanden opgeven om gelijktijdig te zoeken.

Opties beschikbaar in grep-opdracht

Opties



Beschrijving

-C

Hiermee wordt alleen het aantal lijnen afgedrukt dat overeenkomt met een patroon

-H

Geef de overeenkomende regels weer, maar niet de bestandsnamen.

i

Negeert, reden voor matching

-l

Toont alleen een lijst met bestandsnamen.

-N

Geef de overeenkomende regels en hun regelnummers weer.

-in

Hiermee worden alle lijnen afgedrukt die niet overeenkomen met het patroon

-e exp

Specificeert expressie met deze optie. Kan meerdere keren gebruikt worden.

-f bestand

Neemt patronen uit het bestand, één per regel.

-EN

Behandelt patroon als een uitgebreide reguliere expressie (ERE)

vervangen in Java

-In

Match het hele woord

-O

Druk alleen de overeenkomende delen van een overeenkomende regel af, waarbij elk onderdeel op een afzonderlijke uitvoerregel staat.

-Een

Drukt de gezochte regel en regels af na het resultaat.

-B n

Drukt de gezochte regel en n regel vóór het resultaat af.

-C n

Drukt de gezochte regel en n regels na vóór het resultaat af.

Voorbeeldopdrachten

Beschouw het onderstaande bestand als invoer.

cat>geekfile.txt>

Unix is ​​een geweldig besturingssysteem. Unix is ​​ontwikkeld in Bell-labs.

besturingssysteem leren.

Unix Linux welke je kiest.

uNix is ​​gemakkelijk te leren. Unix is ​​een besturingssysteem voor meerdere gebruikers. Leer Unix. Unix is ​​een krachtig besturingssysteem.

Praktisch voorbeeld van grep-opdracht in Linux

Met de optie -i kunt u ongevoelig zoeken naar hoofdletters en kleine letters in het opgegeven bestand. Het komt overeen met woorden als UNIX, Unix, unix.

grep -i 'UNix' geekfile.txt>

Uitgang:

Hoofdletterongevoelig zoeken

Hoofdletterongevoelig zoeken

2. Het aantal overeenkomsten weergeven met behulp van grep

We kunnen het aantal regels vinden dat overeenkomt met de gegeven string/patroon

grep -c 'unix' geekfile.txt>

Uitgang:

de string omkeren in Java
Weergave van het telnummer van de wedstrijden

Weergave van het telnummer van de wedstrijden

3. Geef de bestandsnamen weer die overeenkomen met het patroon met behulp van grep

We kunnen alleen de bestanden weergeven die de gegeven string/patroon bevatten.

grep -l 'unix' *>

of

Hoe een willekeurig getal in Java te genereren
grep -l 'unix' f1.txt f2.txt f3.xt f4.txt>

Uitgang:

De bestandsnaam die overeenkomt met het patroon

De bestandsnaam die overeenkomt met het patroon

4. Controleren op hele woorden in een bestand met behulp van grep

Standaard komt grep overeen met de opgegeven tekenreeks/patroon, zelfs als deze als subtekenreeks in een bestand wordt aangetroffen. De optie -w voor grep zorgt ervoor dat alleen de hele woorden overeenkomen.

grep -w 'unix' geekfile.txt>

Uitgang:

hele woorden in een bestand controleren

hele woorden in een bestand controleren

5. Alleen het overeenkomende patroon weergeven Met behulp van grep

Standaard geeft grep de gehele regel weer die de overeenkomende string bevat. We kunnen ervoor zorgen dat de grep alleen de overeenkomende string weergeeft door de optie -o te gebruiken.

grep -o 'unix' geekfile.txt>

Uitgang:

Alleen het overeenkomende patroon wordt weergegeven

Alleen het overeenkomende patroon wordt weergegeven

6. Toon regelnummer terwijl de uitvoer wordt weergegeven met behulp van grep -n

Om het regelnummer van het bestand weer te geven waarvan de regel overeenkomt.

grep -n 'unix' geekfile.txt>

Uitgang:

Toon regelnummer terwijl de uitvoer wordt weergegeven

Toon regelnummer terwijl de uitvoer wordt weergegeven

7. De patroonovereenkomst omkeren met behulp van grep

Met de optie -v kunt u de regels weergeven die niet overeenkomen met het opgegeven zoektekenreekspatroon.

grep -v 'unix' geekfile.txt>

Uitgang:

De patroonovereenkomst omkeren

De patroonovereenkomst omkeren

8. Matchen van de regels die beginnen met een string met behulp van grep

Het reguliere expressiepatroon ^ specificeert het begin van een regel. Dit kan in grep worden gebruikt om de lijnen te matchen die beginnen met de gegeven string of het gegeven patroon.

zo nigam
grep '^unix' geekfile.txt>

Uitgang:

Overeenkomen met de regels die beginnen met een tekenreeks

Overeenkomen met de regels die beginnen met een tekenreeks

9. Matchen van de regels die eindigen met een string met behulp van grep

Het reguliere expressiepatroon $ specificeert het einde van een regel. Dit kan in grep worden gebruikt om de lijnen te matchen die eindigen met de gegeven string of het gegeven patroon.

grep 'os$' geekfile.txt>

10.Specificeert een expressie met de optie -e

Meerdere keren te gebruiken:

grep –e 'Agarwal' –e 'Aggarwal' –e 'Agrawal' geekfile.txt>

11. -f bestandsoptie Neemt patronen uit het bestand, één per regel

cat pattern.txt>

Agarwal
Aggarwal
Agrawal

grep –f pattern.txt geekfile.txt>

12. Druk n specifieke regels af vanuit een bestand met behulp van grep

-A drukt de gezochte regel en n regels na het resultaat af, -B drukt de gezochte regel en n regels vóór het resultaat af, en -C drukt de gezochte regel en n regels na en vóór het resultaat af.

Syntaxis:

grep -A[NumberOfLines(n)] [search] [file] grep -B[NumberOfLines(n)] [search] [file] grep -C[NumberOfLines(n)] [search] [file]>

Voorbeeld:

grep -A1 learn geekfile.txt>

Uitgang:

Print n specifieke regels uit een bestand

Print n specifieke regels uit een bestand

13. Zoek recursief naar een patroon in de D ictorium

-R drukt het gezochte patroon in de gegeven map recursief af in alle bestanden.

Syntaxis:

grep -R [Search] [directory]>

Voorbeeld :

grep -iR geeks /home/geeks>

Uitgang:

./geeks2.txt:Well Hello Geeks ./geeks1.txt:I am a big time geek ---------------------------------- -i to search for a string case insensitively -R to recursively check all the files in the directory.>

Conclusie

In dit artikel bespraken we degrep>command in Linux, een krachtig hulpmiddel voor het zoeken naar tekst dat reguliere expressies gebruikt om patronen of tekst in bestanden te vinden. Het biedt verschillende opties, zoals hoofdletterongevoeligheid, het tellen van overeenkomsten en het vermelden van bestandsnamen. Met de mogelijkheid om recursief te zoeken, reguliere expressievlaggen te gebruiken en de uitvoer aan te passen,grep>is een essentieel hulpmiddel voor Linux-gebruikers om tekstgerelateerde taken efficiënt uit te voeren. Beheersengrep>verbetert uw vermogen om met tekstgegevens te werken in de Linux-omgeving.