Grep

Možná hledáte: Grapefruit, druh ovoce.
grep
VývojářKen Thompson
Operační systémUnix
UN*X
Typ softwarustandardní UNIXová utilita či příkaz
Některá data mohou pocházet z datové položky.

grep je počítačový program s rozhraním pro příkazový řádek původně psaný pro operační systém Unix, nyní je dostupný i pro většinu systémů Unixového typu (například Linux, FreeBSD, Mac OS a další). Načte textová data ze souborů nebo standardního vstupu a na základě regulárního výrazu vypíše na standardní výstup řádky, které danému regulárnímu výrazu vyhovují.[1][2]

Historie

Grep byl původně vytvořen Kenem Thompsonem jako samostatná aplikace z parseru regulárních výrazů pro ed (který také vytvořil).[3]

Název pochází z příkazu edu:

g/re/p

znamená „search globally for lines matching the regular expression re, and print them“ – najdi řádek vyhovující regulárnímu výrazu a vypiš ho.[4][5] Poprvé se grep objevil v manuálu Unixu verze 4, 3. březen 1973.[6]

Příklady

Najde všechny soubory v aktuálním adresáři obsahující řetězec „foo“:

grep foo *

Najde všechny soubory v aktuálním adresáři (reprezentovaný tečkou „.“) a podadresářích obsahující řetězec „foo“:

grep -r foo .

Totéž co předchozí, ale pouze vypíše názvy souborů obsahující řetězec:

grep -rl foo .

Použití

Grep vyhledává v souborech předaných jako parametr, pokud parametr chybí hledá ve standardním vstupu. Ve výchozím nastavení vypisuje vyhovující řádky na standardní výstup, ale program může přijímáním parametrů měnit funkčnost.

Jednoduchý příklad běžného použití grepu, hledá v souboru fruitlist.txt řádky obsahující textový řetězec apple:

$ grep apple fruitlist.txt

Vyhovující řetězec se objeví pokud je rozpoznána sekvence znaků, například řádky obsahující pineapple nebo apples jsou také vytištěny i přes to že se řetězec apple vyskytuje uvnitř slova. Grep je ve výchozím nastavení náchylný na velikost písmen, tudíž řádky obsahující Apple (s velkým písmenem) nebudou vytištěny pokud zároveň neobsahují apple. Pro nenáchylnost na velikost písmen je potřeba přidat parametr -i (ignore case).

Příkaz může přebírat vícero souborů v seznamu argumentů. Například, všechny soubory mající koncovku .txt v daném adresáři mohou být prohledány pomocí hvězdičky jako součást jména souboru pokud terminál obsahuje podporu žolíkových znaků:

$ grep apple *.txt

Pro hledání (mnohem) složitějších frází mohou být použity regulární výrazy. Následující příkaz vytiskne všechny řádky ze souborů které začínají písmenem a, následovaným jakýmkoliv písmenem a pokračujícím ple.

$ grep ^a.ple fruitlist.txt

Jako většina Unixových příkazů, i grep přijímá argumenty příkazové řádky pro změnu nastavení a chování. Například argument -l (malé písmeno L) poskytuje seznam souborů obsahující poskytnutý řetězec místo toho, aby vytiskl inkriminované řádky.

Vytisknutí řádků obsahující pouze slovo apple ohraničené bílými znaky nebo uvozovkami, může být dosaženo předáním volby -w.

Pokud chceme pouze řádky které celé přesně vyhovují podmínce, používá se volba -x. Řádky obsahující jen a pouze slovo apple jsou nalezeny právě volbou -x.

$ cat fruitlist.txt #vypsání souboru
apple
apples
pineapple
apple-
apple-fruit
fruit-apple
 
$ grep -x apple fruitlist.txt #nalezení
apple 

Volba -v zneguje výsledek vyhledávání a vytiskne řádky neobsahující slovo apple.

$ grep -v apple fruitlist.txt
banana
pear
peach
orang

Varianty

K dispozici je mnoho variant grepu napříč operačními systémy nástroji pro vývoj software. Rané varianty jako egrepfgrep byly představeny v Unixu verze 7. Příkaz egrep používá rozšířenou syntaxi regulárních výrazů která byla do Unixu přidána po verzi Kena Thompsona. Příkaz fgrep vyhledává kterýkoliv obyčejný řetězec v daném seznamu za použití algoritmus Aho-Corasick. Tyto varianty přežívají v moderní implementaci grepu jako jeho parametry (a standardizovány jako -E a -F v normě POSIX[7])) a jako aliasy tohoto příkazu. Tyto aliasy se používají aby simulovaly zaniklé implementace grepu.

Další příkazy obsahují slovo „grep“ jako indikaci, že program něco vyhledává. Příkladem budiž utilita pgrep, vyhledávající v běžících procesech, které odpovídají regulárnímu výrazu.

Ve skriptovacím jazyku Perl se používá „grep“ jako název integrované funkce pro hledání prvků v seznamu. Tato funkce se ve funkcionálním programování obvykle označuje jako filtr.

Příkaz pcegrep je implementace grepu používající syntaxi regulárních výrazů z Perlu. Tato funkcionalita může být v grepu vyvolána parametrem -P.[8]

Grep byl také portován na platformu Microsoft Windows (například pomoci CygwinGnuWin32). Některé verze Windows nabízí podobnou funkcionalitu s příkazy qgrep nebo Findstr.[9]

Reference

V tomto článku byl použit překlad textu z článku grep na anglické Wikipedii.

  1. Hauben et al. 1997, Ch. 9
  2. RAYMOND, Eric. Jargon File: Grep [online]. [cit. 2006-06-29]. Dostupné online. 
  3. KERNIGHAN, Brian. The Unix Programming Environment. [s.l.]: Prentice Hall, 1984. Dostupné online. ISBN 0-13-937681-X. S. 102. 
  4. http://perl.plover.com/classes/HoldSpace/samples/slide012.html
  5. http://robots.thoughtbot.com/how-grep-got-its-name
  6. http://minnie.tuhs.org/cgi-bin/utree.pl?file=V4/man/man1/grep.1
  7. grep – Commands & Utilities Reference, The Single UNIX Specification, Issue 7 from The Open Group
  8. http://linux.die.net/man/1/grep
  9. SPALDING, George. Windows 2000 administration. [s.l.]: Osborne/McGraw-Hill, 2000. (Network professional's library). Dostupné online. ISBN 978-0-07-882582-8. S. 634. 

Externí odkazy

Read other articles:

Everette Howard Hunt Jr. atau E. Howard Hunt (9 Oktober 1918 – 23 Januari 2007) adalah agen legendaris Central Intelligence Agency (CIA) sepanjang 1949–1970. Spesialisasinya dalam peperangan politik adalah trik kotor, sabotase dan propaganda. The New York Times menyebutnya sosok amoral tetapi paling banyak mengetahui rencana Amerika Serikat secara keseluruhan. Ia terlibat berbagai operasi pemberontakan dan penggulingan kekuasaan yang tak sejalan dengan Amerika Serikat, seper...

 

Peta 12 provinsi Tiongkok kuno di zaman kaisar mitologis Yao dan Shun yang tercatat dalam Shiji (Catatan Sejarawan Agung). Dua belas provinsi adalah istilah yang digunakan dalam sejarah Tiongkok kuno untuk merujuk pada pembagian wilayah pada masa pemerintahan kaisar mitologis yaitu Kaisar Yao dan Kaisar Shun dalam legenda Tiga Penguasa dan Lima Kaisar Catatan dalam sejarah Bab Sejarah Lima Kaisar (五帝本紀) dalam Catatan Sejarawan Agung menyebutkan: Kaisar Shun merasa bahwa wilayah utara ...

 

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (مارس 2016) يتم في رمضان 2011 عرض العديد من المسلسلات العربية على القنوات الفضائية فيما يسمى ماراثون المسلسلات الرمضاني�...

Museum Uang SumateraSalah satu ruang koleksi uang di Museum Uang Sumatera Wikimedia Commons memiliki media mengenai Koleksi Museum Uang Sumatera. Museum Uang Sumatera adalah museum uang pertama yang ada di Sumatra yang diresmikan pada tanggal 2 Mei 2017 oleh Gubernur Sumatera Utara. Museum ini awalnya terletak di lantai 2 Gedung Juang 45 Sumatera Utara.[1] Kini museum ini beralih lokasi di Kantor Bupati Aceh Jaya, Aceh.[2] Museum ini didirikan oleh Saparudin Barus yang merupak...

 

مادية تاريخيةعمال الإغاثة قبر حراثة الحقول، حصاد المحاصيل، ودرس الحبوب تحت إشراف أحد المشرفينصنف فرعي من التاريخجزء من ماركسية المؤسس كارل ماركستعديل - تعديل مصدري - تعديل ويكي بيانات المادية التاريخية هي المقاربة المنهجية للتأريخ الماركسي الذي يركز على المجتمعات البشر�...

 

Vyschaïa Hokkeïnaïa Liga Généralités Sport Hockey sur glace Création 2010 Catégorie Ligue mineure Lieu(x) Russie (27) Kazakhstan (3) Chine (3) Ouzbékistan (1) Participants 34 Statut des participants Professionnels Site web officiel http://www.vhlru.ru Palmarès Tenant du titre Saryarka Karaganda Plus titré(s) Toros Neftekamsk (3) modifier La Ligue majeure de Hockey ou Ligue suprême de Hockey, mieux connue sous son acronyme russe VHL (Высшая хоккейная лига, trans...

Buffalo BoysSutradaraMike WiluanProduser Mike Wiluan Huang Junxiang Tan Fong Cheng Rayya Makarim Kimberly James SkenarioMike WiluanRayya MakarimRaymond LeeCeritaMike WiluanPemeran Ario Bayu Yoshi Sudarso Pevita Pearce Tio Pakusadewo Reinout Bussemaker Daniel Adnan Alex Abbad Conan Stevens Alexander Winters SinematograferJohn RadelPenyuntingSean AlbertsonPerusahaanproduksi Infinite Frameworks Zhao Wei Films Distributor Screenplay Infinite Films (Indonesia) XYZ Films (seluruh dunia) Nikkatsu (J...

 

San Rocco al PortoKomuneComune di San Rocco al PortoNegaraItaliaWilayahLombardyProvinsiProvinsi Lodi (LO)Luas • Total30,7 km2 (119 sq mi)Populasi (Dec. 2004) • Total3.383 • Kepadatan11/km2 (29/sq mi)DemonimSanrocchiniZona waktuUTC+1 (CET) • Musim panas (DST)UTC+2 (CEST)Kode pos26865Kode area telepon0377Situs webSitus web resmi San Rocco al Porto adalah komune yang terletak di distrik Provinsi Lodi, Italia. Kota San Rocco...

 

Questa voce sull'argomento stagioni delle società calcistiche italiane è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Voce principale: Società Sportiva Dilettantistica Calcio Città di Castello. Unione Sportiva TifernoStagione 1939-1940Sport calcio Squadra Tiferno Allenatore Domenico Giacobbe Presidente Mario Tellarini Serie C5º posto nel girone G. 1938-1939 1940-1941 Si invita a seguire il mo...

Державний комітет телебачення і радіомовлення України (Держкомтелерадіо) Приміщення комітетуЗагальна інформаціяКраїна  УкраїнаДата створення 2003Керівне відомство Кабінет Міністрів УкраїниРічний бюджет 1 964 898 500 ₴[1]Голова Олег НаливайкоПідвідомчі ор...

 

Pour les articles homonymes, voir Bennett. Alex Bennett Biographie Nom Alexander Bennett Nationalité Britannique Nat. sportive Écossais Naissance 20 octobre 1881 Glasgow (Écosse) Décès 9 janvier 1940 (à 58 ans) Écosse Poste Milieu gauche Parcours professionnel1 AnnéesClub 0M.0(B.) 1900-1903 Rutherglen Glencairn F.C. (en) 00? 0(?) 1903-1908 Celtic 124 (47) 1908-1918 Rangers 188 (51) 1918-1920 Dumbarton 00? 0(?) 1920-1921 Albion Rovers 00? 0(?) Sélections en équipe national...

 

Boundary of the Antarctic Map of the Antarctic with the Antarctic Circle in blue. The Antarctic Circle is the most southerly of the five major circles of latitude that mark maps of Earth. The region south of this circle is known as the Antarctic, and the zone immediately to the north is called the Southern Temperate Zone. South of the Antarctic Circle, the Sun is above the horizon for 24 continuous hours at least once per year (and therefore visible at midnight) and the centre of the Sun (ign...

Crater lake in El Salvador which fills a caldera Lake IlopangoWestward view from lake Ilopango, aft San Salvador Metropolitan Area and San Salvador (volcano) lie just aheadHighest pointElevation450 m (1,480 ft)Coordinates13°40′N 89°03′W / 13.67°N 89.05°W / 13.67; -89.05GeographyLake IlopangoLocation in El Salvador LocationEl SalvadorGeologyMountain typeCalderaLast eruption1879 to 1880 Lake IlopangoEastward view from San Salvador (volcano), San Sa...

 

Australian commercial radio network This article is about the Australian radio station. For other uses, see MMM, 3M, and Triple M (disambiguation). Triple MCountryAustraliaBroadcast areaAustraliaHeadquartersSouth Melbourne, VictoriaProgrammingLanguage(s)EnglishFormatMainstream rockOwnershipOwnerSouthern Cross AustereoHistoryLaunch date1980; 44 years ago (1980)LinksWebsitewww.triplem.com.au Triple M is an Australian commercial radio network owned and operated by Southern Cros...

 

Planned metro system in Baotou, China You can help expand this article with text translated from the corresponding article in Chinese. (January 2023) Click [show] for important translation instructions. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pasting machine-translated text into the English Wikipedia. Do not transl...

2018 Utah Senate election ← 2016 November 6, 2018 2020 → 15 of the 29 seats in the Utah State Senate15 seats needed for a majority   Majority party Minority party   Leader Wayne L. Niederhauser(retired) Gene Davis Party Republican Democratic Leader's seat 9th district 3rd district Seats before 24 5 Seats after 23 6 Seat change 1 1 Popular vote 306,354 216,893 Percentage 57.29% 40.56% Results:     Democratic gai...

 

Russian and Soviet physicist and mathematician (1888–1925) This article is about the Russian cosmologist. For the Russian astrophysicist, see Alexei Fridman. For the Polish Orthodox Jewish rabbi, see Alexander Zusia Friedman. In this name that follows Eastern Slavic naming customs, the patronymic is Alexandrovich and the family name is Friedmann. Alexander FriedmannАлександр ФридманBornAlexander Alexandrovich Friedmann(1888-06-16)June 16, 1888Saint Petersburg, Russian Em...

 

المهاجم في طريقه للمرمى المهاجم (بالإنجليزية: Forward)‏ هو أحد المراكز المهمة في تشكيلة كرة القدم، وأكثر الأهداف تأتي عن طريقه، وقد كان النجم بيليه واحد من أفضل مهاجمين في التاريخ الكروي .[1] كما يعد مركز المهاجم من أصعب المراكز في كرة القدم عكس ما يعتقد البعض، فهو يتطلب مها...

Bandar Udara Bharatpurभरतपुर विमानस्थलIATA: BHRICAO: VNBPInformasiJenisPublikPemilikPemerintah NepalPengelolaOtoritas Penerbangan Sipul NepalMelayaniBharatpur, NepalKetinggian dpl183 mdplKoordinat27°40′41″N 84°25′46″E / 27.67806°N 84.42944°E / 27.67806; 84.42944PetaBandar Udara BharatpurLokasi bandar udara di NepalLandasan pacu Arah Panjang Permukaan m kaki 15/33 1,158 3,799 Aspal Sumber:[1][2] Bandar ...

 

В Википедии есть статьи о других людях с фамилией Шмидт. Анна Николаевна Шмидт Имя при рождении Анна Николаевна Шмидт Дата рождения 30 июля 1851(1851-07-30) Место рождения Нижний Новгород Дата смерти 18 августа 1905(1905-08-18) (54 года) Место смерти Москва Страна  Российская империя Яз�...