Verschil tussen Egrep en Fgrep Verschil tussen

Anonim

Egrep vs Fgrep

Egrep en fgrep maken beide deel uit van de grep-familie van opdrachten. Zowel egrep als fgrep worden in Linux gebruikt als gebruikersopdrachten om het zoeken gemakkelijker te maken in onbewerkte tekstbestanden in duizenden regels. Beide opdrachten zijn op DOS gebaseerde tekstzoekprogramma's en zoekbestanden, mappen en mapstructuren voor een specifieke tekst of woorden.

Grep is het basiscommando voor zowel egrep als fgrep. "Grep" staat voor "global regular expression print. "Grep ondersteunt reguliere expressie-opdrachten bij het zoeken naar woorden en termen.

Egrep is een uitbreiding van de grep-opdracht, een gebruikersopdracht om een ​​reeks tekens in lijnen en meerdere patronen in een tekstbestand te zoeken. Ook bekend als extended grep, zoekt het naar een van de meer patroonargumenten. Egrep wordt gebruikt wanneer het document wordt gekenmerkt als een 'extended expression'. "Bij het gebruik van dit commando, speciale tekens zoals +,?,!, & en andere karakters en nuttige sequenties zullen resultaten opleveren in plaats van een syntaxisfout weer te geven. Dit gebeurt omdat het egrep-commando ze interpreteert als onderdeel van een reguliere expressie.

Expressies zoals het plusteken, het vraagteken, de verticale balk en haakjes worden vaak gebruikt als operatoren die helpen bij het opgeven van resultaten. De expressie wordt geplaatst na de zoekterm of reguliere expressie. Hieronder wordt de functie van de operators beschreven:

Reguliere expressie en een plusteken leveren een of meer resultaten van de reguliere expressie op.

Reguliere expressie voordat een vraagteken geeft komt overeen met nul of één overeenkomst van de opgegeven zoekterm.

Een verticale balk wordt gebruikt om meerdere reguliere expressies of zoektermen van elkaar te scheiden.

Haakjes worden gebruikt om een ​​reguliere uitdrukking of woorden te omsluiten en te groeperen.

Bij het coderen van dit commando "d" in Linux, wordt het uitgedrukt als "grep-e,"? ? egrep of egrep plus voor het woord of de termen om in het bestand te zoeken. Er is geen limiet voor het aantal zoektermen dat kan worden opgenomen.

Ondertussen is de fgrep een uitbreiding van egrep. In Linux wordt dit aangeduid als "grep-f" en ook bekend als een grec met vaste reeks. Het is vergelijkbaar met grep omdat het reguliere of speciale uitdrukkingen of tekens niet herkent of interpreteert. Omdat het de uitgebreide mogelijkheden van reguliere expressie niet begrijpt, worden deze tekens tijdens een zoekopdracht omzeild. Het retourneert alleen zoekwoorden en termen en niets anders.

Fgrep interpreteert de documenten als een lijst met vaste reeksen. Het zoekproces is erg snel vergeleken met de andere commando's omdat het gebruik maakt van het Aho-Corasick-algoritme voor het matchen van rijen.

Samenvatting:

1. Zowel egrep als fgrep zijn afgeleid van de opdracht base grep. De "egrep" staat voor "extended grep" terwijl de fgrep staat voor "grec met vaste reeks.“

2. Een egrep-opdracht wordt gebruikt om te zoeken naar meerdere patronen in een bestand of een ander soort gegevensrepository, terwijl frgrep wordt gebruikt om naar tekenreeksen te zoeken.

3. De term "egrep" wordt gewoonlijk uitgedrukt als "grep-e" terwijl "fgrep" wordt gecodeerd als "grep-f. “

4. Met de opdracht egrep kunnen uitgebreide reguliere expressies worden gebruikt, terwijl grep alleen zoekt naar het overeenkomende woord of de overeenkomende term die de gebruiker in de opdracht heeft opgegeven. De frep herkent of begrijpt geen reguliere of uitgebreide reguliere expressie.

5. In vergelijking met de andere zoekopdrachten is het zoekproces voor fgrep erg snel omdat het alleen maar om het aangeboden zoekwoord gaat.

6. De opdracht egrep gebruikt meestal operators om een ​​meer progressief of specifiek zoekonderzoek op te leveren. Een plusteken en het vraagteken gaan over afzonderlijke, reguliere expressies of zoektermen. Aan de andere kant worden verticale staven en haakjes gebruikt voor meerdere, reguliere expressies met tegenovergestelde functies. De verticale balk scheidt de expressies terwijl de operator tussen haakjes deze groepeert.