Egrep vs Fgrep: Rozdíl a srovnání

Egrep a Fgrep jsou nástroje pro kontrolu textu, které pracují na příkazovém řádku, kde jsou dva příkazy registrovány v panelu nástrojů jako příkaz grep, který se používá k nalezení možných shod v souborech nebo umístěních dat.

Oba Egrep a Fgrep jsou výjimečně podobné ve funkci a původu, ale jsou také mimořádně odlišné.

Key Takeaways

  1. egrep umožňuje pokročilejší vyhledávání vzorů pomocí regulárních výrazů.
  2. fgrep se zaměřuje na vyhledávání s pevnými řetězci a poskytuje rychlejší výsledky.
  3. Uživatelé by měli vybírat na základě požadavků na vyhledávání, protože egrep je všestrannější, ale fgrep je rychlejší.

Egrep vs Fgrep

Grep (Global Regular Expressions Print) je UNIXový příkaz, který se používá k vyhledávání souborů podle daného regulárního výrazu a zobrazení odpovídajících řádků. Egrep (Extended Grep) je varianta grepu, která je efektivnější a rychlejší. Prohledává soubor řádek po řádku, aby našel a zobrazil řádky obrábění.

Egrep vs Fgrep

Egrep je v podstatě menší a rychlejší verze grep s některými přidanými funkcemi a odlišným výchozím chováním. Egrep hledá soubory v libovolném ze zadaných adresářů, kde tato volba je ekvivalentní „–include=DIRS“, navíc bez této volby jsou nalezeny pouze soubory odpovídající zadaným vzorům a jejich názvům adresářů.

Fgrep je nástroj příkazového řádku, který vyhledává text v libovolném počtu souborů a dokumentů. Fgrep je velmi užitečný nástroj příkazového řádku, který lze použít k prohledávání velkých souborů pro daný řetězec.

Navíc příznak „f“, pokud je přítomen, způsobí všechny soubory kromě těch, jejichž názvy začínají na. „“ ignorovat.

Srovnávací tabulka

Parametry srovnáníEgrepFgrep
ObjasněníEgrep přebírá svůj vstup ze standardního vstupu, čehož lze dosáhnout tím, že přes něj prochází obsah souboru.Fgrep přebírá svůj vstup ze souboru, který musí být zadán v argumentu příkazového řádku.
Výraz krmeníEgrep používá rozšířené regulární výrazy.Fgrep používá nerozšířené regulární výrazy.
rychlostMá nízkou rychlost.Má vysokou rychlost.
Řetězcové režimyProzkoumá řetězec nebo seznam, který hromadí více režimů.Neprozkoumává řetězec nebo seznam, který hromadí více režimů.
Ilustrace$ egrep -E “5|[[:mezera:]]*5” ./soubor.txt.$ fgrep -F “5|[[:mezera:]]*5” ./soubor.txt.

Co je Egrep?

Egrep je nástroj příkazového řádku pro vyhledávání v textových souborech, podobně jako grep. Některé možnosti se Egrepovi mohou zdát divné nebo namáhavé, ale mají svůj účel.

Také čtení:  GPS vs GIS: Rozdíl a srovnání

Volba -E umožňuje, aby se vyhledávací řetězec shodoval kdekoli v cílovém řádku. Například některý Egrep je mnohem rychlejší, pokud jej uživatel používá s volbou -I.

Pokud jej však uživatel nepoužívá, jeho běh trvá dlouho a generuje spoustu zbytečného výstupu.

Egrep pracuje se soubory v textovém formátu a využívá různé možnosti, které mu umožňují pracovat s regulárními výrazy. Například | egrep -i '(.+1) |' příkaz zobrazí řádky, které obsahují frázi, na jednom místě a se vzorem napsaným malými písmeny a | egrep -I '(now.*c#na)' internet_archiving je internetový archiv, který je oblíbeným místem pro archivaci starých souborů, jako jsou zpravodaje a fotografie, navíc tento příkaz zachytí všechny řádky z výstupu jakéhokoli zpravodajského programu .

Egrep může vyhledávat podřetězce v jednom nebo více souborech nebo ve standardním vstupu a uložit výsledky do souboru. Například egrep „vzor“ *|sort >soubor.txt, soubor2.txt uloží všechny řádky odpovídající „vzoru“ do „soubor.txt“, egrep -oP „(vzor|jiný)“ *|sort >soubor.txt a soubor2.txt uloží shody vzoru nebo jiného do souboru „soubor.txt“.

Prohledávání regulárních výrazů může být v některých případech efektivnější, protože nevydává shody pro řádky, které neobsahují žádné shody.

Například „eq“ má tendenci odpovídat prvnímu znaku v každém řádku, takže je užitečné pro hledání odpovídajících slov v souborech, kde je druhé slovo použito pouze jednou nebo dvakrát.

Pokud chce uživatel najít každý výskyt podřetězce, použijte jako zkratku egrep „-ic“.

Co je to Fgrep?

Příkaz Fgrep je přátelský a účinný nástroj grep, který k nalezení textu používá vyhledávání podobné Googlu. Funguje to v obou praštit shell a zsh.

Navíc Fgrep zvýrazní každou shodu červeně, takže uživatel může přesně vidět, co se hledá, a také to, co bylo nalezeno automaticky zvýrazněno poté, co uživatel provede změnu, kde syntaxe je fgrep „řetězec s mezerami“ *.

Také čtení:  Oprava: Problém s platební metodou Netflix – rychlá a efektivní řešení

Fgrep lze nainstalovat zadáním dvou příkazů do terminálu, které jsou Sudo apt-get install fgrep a Sudo apt-get install zsh.

Chcete-li však nainstalovat zsh, jakmile je Fgrep nainstalován, stiskněte Ctrl+Mezerník v terminálu, abyste vyvolali jeho „vyhledávání jako Google“, navíc Fgrep funguje pouze s praštit a zsh.

Příkaz Fgrep má několik funkcí navíc, které mohou být pro uživatele užitečné. Pomocí Fgrep může uživatel vidět všechny řádky, které odpovídají jeho danému vyhledávacímu dotazu, a uživatel má možnost je buď zachovat, nebo smazat.

Kromě toho jej lze také použít k filtrování vstupu zobrazeného na obrazovkách terminálu zadáním výstupu, jako jsou řádky se slovy obsahujícími písmena A až Z.

Hlavní rozdíly mezi Egrep a Fgrep

  1. Objasnění Egrepu uchovává svá data z kvalitních dat, čehož lze dosáhnout tím, že přes ně prochází obsah souboru, zatímco Fgrep získává data ze souboru, který musí být konkrétní v argumentu příkazového řádku.
  2. Výraz krmivo Egrep přebírá rozšířené regulární výrazy, zatímco výraz Fgrep přebírá nerozšířené regulární výrazy.
  3. Rychlost Egrepu je nízká, zatímco rychlost Fgrepu je vysoká.
  4. Egrep kontroluje řetězec nebo seznam, který obsahuje více režimů, zatímco Fgrep nekontroluje řetězec nebo seznam, který obsahuje více režimů.
  5. Ilustrace Egrep $ egrep -E “5|[[:mezera:]]*5” ./file.txt, kdežto ilustrace Fgrep $ fgrep -F “5|[[:mezera:]]*5” ./soubor.txt.

Reference

  1. https://dl.acm.org/doi/pdf/10.1145/1473195.1473196
  2. https://www.cs.arizona.edu/sites/default/files/TR94-17.pdf

Poslední aktualizace: 13. července 2023

tečka 1
Jedna žádost?

Vynaložil jsem tolik úsilí, abych napsal tento blogový příspěvek, abych vám poskytl hodnotu. Bude to pro mě velmi užitečné, pokud zvážíte sdílení na sociálních sítích nebo se svými přáteli / rodinou. SDÍLENÍ JE ♥️

Zanechat komentář

Chcete si tento článek uložit na později? Klikněte na srdce v pravém dolním rohu pro uložení do vlastního pole článků!