A „grep” parancs jelentése 'globális reguláris kifejezés nyomtatása' . grep parancs szűri a fájl tartalmát, ami megkönnyíti a keresést.
Ez egy parancssori segédprogram, amellyel egyszerű szöveges adatcsoportokban kereshet olyan sorokat, amelyek megegyeznek a reguláris kifejezésekkel. A név 'markolat' parancsból, azaz az ed-ből származik, amely ugyanazt a hatást tartalmazza. Eredetileg a grep Unix operációs rendszerhez készült, de később minden Unix-szerű rendszerre és néhány másikra, például OS 9-re is elérhetővé vált.
A grep szűrő megkeres egy adott karaktermintához tartozó fájlt, és megjelenít minden sort, amely tartalmazza ezt a mintát. A karaktereket idézőjelbe kell tenni, ha a mintaparaméterben a shell számára speciális jelentéssel szerepelnek. Általában a teljes mintát egy idézőjelbe kell tennünk, ha a minta paramétere nem egy közös karakterlánc.
Egy olyan kifejezésben, mint az [a-z], a mínuszjel (-) cml egy tartományt ír le az aktuális leválogatási sorrend alapján. Egy rendezési sorrend meghatározhat egyenértékű osztályokat a karaktertartományokban. A grep parancs stdin-t feltételez, ha nem említenek fájlokat.
A mintát a fájlban található reguláris kifejezésnek nevezzük. A minta korlátozott reguláris kifejezések az egrep vagy az ed parancs formátumában. A grep parancs szilárd, nem determinisztikus algoritmust alkalmaz. Akkor hasznos, ha nagy naplófájlokat kell szűrnünk.
A grep rövid története
A címe előtt a grep egy bizalmas segédprogram volt, amelyet a Ken Thompson több minta fájlok kereséséhez. Ismeretlen a létezéséről, Doug Mcllroy megkérte Thompsont, hogy határozzon meg egy ilyen függvényt. Azt válaszolta, hogy egyik napról a másikra eszébe jut egy ilyen segédprogram. Thompson fejlesztéseket végzett és korrigálta a lápokat körülbelül egy órán keresztül a néven ismert programján 's' (vagy keressen). Másnap bemutatta a funkciót Mcllroynak, aki azt mondta, hogy ugyanaz, mint amit akar. Thompson beszámolója leírhatja azt a hiedelmet, hogy a grep parancsot egyik napról a másikra adták meg.
A Thompson a kezdeti verziót PDP-11 assembly nyelven adta meg, hogy támogassa Lee E. McMohan a Federalist Papers szövegének ellenőrzése az egyes lap szerzőiségének eldöntéséhez. Az ed szövegszerkesztő támogatta a reguláris kifejezést, de nem használható ilyen nagy szövegeknél; Thompson ezt a kódot egy önálló eszközbe másolta. Kiválasztotta az esedékes nevet a szerk. a grep parancs minden sort ugyanúgy nyomtat, mint a leírt mintát. Először a grep került a Unix 4-es verziójába, mondván 'általában prototipikus szoftvereszközként emlegetik' , Mcllroy jóváhagyta a grep-et a 'visszafordíthatatlanul beépülő' Thompson eszközök filozófiája Unixban.
A grep megvalósításai
Számos grep-megvalósítás létezik számos szoftverfejlesztő környezetben és operációs rendszerben. A korai verziók az fgrep-et és az egrep-et tartalmazták, amelyeket a Unix 7-es verziójában vezettek be. Az egrep verzió támogatja egy kiterjesztett reguláris kifejezés szintaxisát, amelyet Alfred Aho tartalmazott Ken Thompson eredeti reguláris kifejezésének megvalósítása után. Az fgrep verzió minden rögzített karakterlánc-listát megtalál a Aho-Corasick karakterláncillesztő algoritmus . Ezek a bináris verziók elérhetők a modern rendszerekben, amelyek a grephez csatlakoznak, vagy grep parancsfájlt hívnak a megfelelő jelzővel, miközben általában a POSIX rendszereken vannak telepítve.
Egyéb parancsok közé tartozik a 'markolat' A kifejezésre szolgáló szót olyan eszközöket találnak, amelyek általában a reguláris kifejezések egyezésétől függenek. Például a segédprogram, pl. 'pgrep' , azokat a folyamatokat mutatja, amelyek címe megegyezik a megadott reguláris kifejezéssel.
- A Grep annak a beépített függvénynek a címe, amely egy listában azokat az elemeket keresi, amelyek szórakoztatnak egy bizonyos tulajdonságot a listában. Perl programozási nyelv.
- Általában ezt a magasabb rendű függvényt hívják 'szűrő' vagy 'ahol' más nyelven.
- A parancs, azaz pcregrep , egy grep megvalósítás, amely a Perl reguláris kifejezésének szintaxisát használja. Ugyanez a funkció hozzáadható a grep GNU verzióhoz a -P kapcsolóval.
- Továbbá a grep portok (pl GnuWin32 és Cygwin ) futtassa Microsoft Windows rendszeren. Néhány Windows-verzió ugyanazt a findstr vagy qgrep parancsot biztosítja.
- Ezenkívül a grep parancs az ASCII MSX-DOS2 eszközeinek része az MSX-DOS 2-es verziójához.
- Az fgrep, egrep és grep parancsok az IBM i operációs rendszerbe kerültek.
Az Adobe InDesign szoftver GREP funkciókkal rendelkezik (a CS3 kiadás óta) a GREP módosítása/keresése lapon, és a CS4 használatával van megadva a 'GREP stílusok' bekezdésstílusok.
Hogyan telepítsem a grep-et Linuxra?
A Grep szinte minden Linux disztribúcióban előre telepítve van. Abban az esetben azonban, ha a terminál ablakában az alábbi paranccsal telepíthetjük, ha hiányzik a rendszerünkből:
$ sudo apt-get install grep
grep pipával
A „grep” parancsot általában pipe esetén használják (|) .
írjon json-t a python fájlba
Szintaxis:
command | grep
Példa:
cat marks.txt | grep 9
Tekintse meg a fenti pillanatképet, a grep parancs kiszűri az összes „9”-et tartalmazó adatot.
grep cső nélkül
Cső nélkül is használható.
Szintaxis:
grep
Példa:
grep 9 marks.txt
Nézze meg a fenti pillanatképet, a grep parancs ugyanazt a munkát végezze el, mint az előző példában, de pipe nélkül.
grep opciók
Szintaxis:
grep -v
Példa:
grep -v 9 marks.txt
Nézze meg a fenti pillanatképet, parancsot 'grep -v 9 marks.txt' olyan sorokat jelenít meg, amelyek nem tartalmazzák a '9' keresőszavankat.
Szintaxis:
grep -i
Példa:
grep -i red exm.txt
Nézze meg a fenti pillanatképet, parancsot 'grep -i red exm.txt' megjeleníti az összes 'piros' betűt tartalmazó sort, akár nagy, akár kisbetűvel.
grep -A parancs a megjelenítésére szolgál sor az eredmény után .
A grep -B parancs a sor az eredmény előtt .
A grep -C parancs a sor utána és előtte az eredmény.
Az (A1, A2, A3.....)(B1, B2, B3....)(C1, C2, C3....) segítségével tetszőleges számú sort jeleníthet meg.
Szintaxis:
grep -A grep -B grep -C
Példa:
grep -A1 yellow exm.txt grep -B1 yellow exm.txt grep -C1 yellow exm.txt
Nézze meg a fenti pillanatképet, parancsot 'grep -A1 sárga exm.txt' megjeleníti a keresett sort a következő sorral, paranccsal 'grep -B1 sárga exm.txt' megjeleníti a keresett sort egy megelőző sorral és paranccsal 'grep -C1 sárga exm.txt' megjeleníti a keresett sort egy megelőző és egy következő sorral.