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
- Opties beschikbaar in grep-opdracht
- Praktisch voorbeeld van grep-opdracht in Linux
- 1. Hoofdletterongevoelig zoeken
- 2. Het aantal overeenkomsten weergeven met behulp van grep
- 3. Geef de bestandsnamen weer die overeenkomen met het patroon met behulp van grep
- 4. Controleren op hele woorden in een bestand met behulp van grep
- 5. Alleen het overeenkomende patroon weergeven Met behulp van grep
- 6. Toon regelnummer terwijl de uitvoer wordt weergegeven met behulp van grep -n
- 7. De patroonovereenkomst omkeren met behulp van grep
- 8. Matchen van de regels die beginnen met een string met behulp van grep
- 9. Matchen van de regels die eindigen met een string met behulp van grep
- 10.Specificeert een expressie met de optie -e
- 11. -f bestandsoptie Neemt patronen uit het bestand, één per regel
- 12. Druk n specifieke regels af vanuit een bestand met behulp van grep
- 13. Zoek recursief naar een patroon in de directory
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
1. Hoofdletterongevoelig zoeken
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
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
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
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
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
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
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
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
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
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.