เกร็ป
(grep
) เป็นโปรแกรมอรรถประโยชน์สำหรับการค้นหาชุดข้อมูลข้อความธรรมดาสำหรับบรรทัดที่ตรงกับนิพจน์ทั่วไป ชื่อของมันมาจากคำสั่ง คือ g/re/p
(global / regular expression search / and print) ซึ่งมีผลเช่นเดียวกันgrep
เดิมได้รับการพัฒนาสำหรับระบบปฏิบัติการยูนิกซ์แต่ต่อมาสามารถใช้งานได้กับระบบเหมือนยูนิกซ์ทั้งหมดและบางระบบอื่น เช่น
Example of grep command | |
ผู้ออกแบบ | |
---|---|
นักพัฒนา | |
วันที่เปิดตัว | พฤศจิกายน 1973 |
ภาษาที่เขียน | C |
ระบบปฏิบัติการ | Unix, Unix-like, , , , , |
Cross-platform | |
ประเภท |
การนำไปใช้
มีการการอิมพลีเมนต์ grep
หลากหลายเจ้า ทั้งในระบบปฏิบัติการและสิ่งแวดล้อมการพัฒนาซอฟต์แวร์จำนวนมาก เวอร์ชันแรกๆ ได้แก่ egrep
และ fgrep
ซึ่งเปิดตัวใน ตัวแปร "egrep
" รองรับไวยากรณ์นิพจน์ปรกติที่เพิ่มโดย หลังจากการนำนิพจน์ทั่วไปดั้งเดิมของ ไปใช้งาน ตัวแปร "fgrep
" ค้นหาในรายการของสตริงคงที่ใดๆ โดยใช้ ไบนารีของตัวแปรเหล่านี้มีอยู่ในระบบสมัยใหม่ โดยปกติแล้วจะเชื่อมโยงไปยัง grep
หรือการเรียก grep เป็นเชลล์สคริปต์โดยมีการเพิ่มแฟล็กที่เหมาะสม เช่น exec grep -E "$@"
egrep
และ fgrep
แม้จะใช้งานทั่วไปบนระบบ POSIX จนถึงจุดที่ข้อกำหนด POSIX กล่าวถึงการมีอยู่อย่างแพร่หลาย แต่จริงๆ แล้วมิได้เป็นส่วนหนึ่งของ POSIX
คำสั่งอื่นๆ มีคำว่า "grep" เพื่อระบุว่าเป็นเครื่องมือค้นหา ซึ่งโดยทั่วไปจะใช้การจับคู่นิพจน์ทั่วไป ตัวอย่างเช่น ยูทิลิตี้ จะแสดงกระบวนการที่มีชื่อตรงกับนิพจน์ทั่วไปที่กำหนด
ในภาษาเพิร์ล grep คือชื่อของฟังก์ชันในตัวที่ค้นหาองค์ประกอบในรายการที่ตรงตามคุณสมบัติบางอย่าง โดยทั่วไปนี้จะมีชื่อว่า หรือ
where
ในภาษาอื่น
คำสั่ง pcregrep
คือการนำ grep
ไปใช้ซึ่งใช้ไวยากรณ์ นิพจน์ทั่วไปของ Perl ฟังก์ชันที่คล้ายกันสามารถเรียกใช้ได้ใน grep
เวอร์ชัน GNU พร้อมด้วยแฟล็ก -P
ของ grep
(ภายใน Cygwin และ เป็นต้น) ยังทำงานบนไมโครซอฟท์ วินโดวส์ นอกจากนี้วินโดวส์บางเวอร์ชันมีคำสั่ง qgrep
หรือ findstr
ที่คล้ายกัน
คำสั่ง grep
ยังเป็นส่วนหนึ่งของ เครื่องมือ MSX-DOS2 ของ สำหรับ เวอร์ชัน 2
ที่grep ,egrep และfgrepคำสั่ง ยังถูกย้ายไปยังระบบปฏิบัติการ IBM i อีกด้วย
ซอฟต์แวร์ Adobe InDesign มีฟังก์ชัน GREP (ตั้งแต่เวอร์ชัน CS3 (2007)) ในกล่องโต้ตอบ ค้นหา/เปลี่ยนแปลง แท็บ "GREP" และนำมาใช้กับ InDesign CS4 ใน รูปแบบย่อหน้า "GREP สไตล์".
agrep
agrep (approximate grep, grep โดยประมาณ) จะจับคู่แม้ว่าข้อความจะพอดีกับรูปแบบการค้นหา โดยประมาณ เท่านั้น
คำสั่งต่อไปนี้จะค้นหา netmasks ในไฟล์ myfile แต่ยังรวมไปถึงคำอื่น ๆ ที่สามารถนำมาจากคำนี้ได้ โดยจะมีการแทนที่ไม่เกินสองครั้ง
agrep -B netmasks myfile
ตัวอย่างนี้สร้างรายการการจับคู่ที่ใกล้เคียงที่สุด ซึ่งเป็นรายการที่มีการเปลี่ยนตัวน้อยที่สุดแสดงไว้เป็นอันดับแรก แฟล็กคำสั่ง B หมายถึง best :
agrep -B netmasks myfile
การใช้เป็นคำกริยา
ในเดือนธันวาคม พ.ศ. 2546 Oxford English Dictionary Online ได้เพิ่ม "grep" เป็นทั้งคำนามและคำกริยา
การใช้เป็นคำกริยาทั่วไปคือวลี "คุณไม่สามารถ grep ต้นไม้ที่ตายแล้วได้" ซึ่งหมายความว่าเราสามารถค้นหาผ่านสื่อดิจิทัลได้ง่ายกว่าโดยใช้เครื่องมือเช่น grep
มากกว่าการค้นหาด้วยกระดาษ (เช่นที่ทำจาก "ต้นไม้ที่ตายแล้ว" ซึ่งในบริบทนี้ถือเป็นสำหรับกระดาษ)
ดูเพิ่ม
- ขั้นตอนวิธีการจับคู่สตริง Aho–Corasick
- คำสั่งจับคู่สตริงโดยประมาณ
- หรือ Findstr คำสั่ง DOS และ Windows ที่ทำการค้นหาข้อความ คล้ายกับ
grep
ธรรมดา - คำสั่ง Unix ที่ใช้ค้นหาไฟล์ตามแอตทริบิวต์ แตกต่างจาก
grep
มาก - หรือ "visual
grep
" - หรือ network grep
อ้างอิง
- Kernighan, Brian (1984). The Unix Programming Environment. Prentice Hall. pp. 102. ISBN .
- “grep was a private command of mine for quite a while before i made it public.” -Ken Thompson 2015-05-26 ที่ เวย์แบ็กแมชชีน, By Benjamin Rualthanzauva, Published on Feb 5, 2014, Medium
- Hauben et al. 1
- . . Jargon File. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2006-06-17. สืบค้นเมื่อ 2006-06-29.
- Paul S. Dayan (1992). The OS-9 Guru - 1 : The Facts. Galactic Industrial Limited. ISBN .
- อ้างอิงผิดพลาด: ป้ายระบุ
<ref>
ไม่ถูกต้อง ไม่มีการกำหนดข้อความสำหรับอ้างอิงชื่อreader
- Hume, Andrew (1988). "A Tale of Two Greps". Software: Practice and Experience. 18 (11): 1063. doi:10.1002/spe.4380181105.
- Meurant, Gerard (12 Sep 1990). Algorithms and Complexity. Elsevier Science. p. 278. ISBN . จากแหล่งเดิมเมื่อ 4 March 2016. สืบค้นเมื่อ 12 December 2015.
- "grep". www.pubs.opengroup.org. The Open Group. จากแหล่งเดิมเมื่อ 28 November 2015. สืบค้นเมื่อ 12 December 2015.
- "pgrep(1)". www.linux.die.net. จากแหล่งเดิมเมื่อ 22 December 2015. สืบค้นเมื่อ 12 December 2015.
- "grep". www.perldoc.perl.org. จากแหล่งเดิมเมื่อ 7 December 2015. สืบค้นเมื่อ 12 December 2015.
- "pcregrep man page". www.pcre.org. University of Cambridge. จากแหล่งเดิมเมื่อ 23 December 2015. สืบค้นเมื่อ 12 December 2015.
- "grep(1)". www.linux.die.net. จากแหล่งเดิมเมื่อ 10 December 2015. สืบค้นเมื่อ 12 December 2015.
- Spalding, George (2000). Windows 2000 administration. Network professional's library. Osborne/McGraw-Hill. pp. 634. ISBN . สืบค้นเมื่อ 2010-12-10.
QGREP.EXE[:] A similar tool to grep in UNIX, this tool can be used to search for a text string
- "MSX-DOS2 Tools User's Manual by ASCII Corporation". April 1993.
- IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). IBM (ภาษาอังกฤษ). สืบค้นเมื่อ 2020-09-05.
- "Review: Adobe InDesign CS3 - CreativePro.com". creativepro.com. 20 April 2007. จากแหล่งเดิมเมื่อ 5 January 2018. สืบค้นเมื่อ 24 April 2018.
- "InDesign Help: find/change". จากแหล่งเดิมเมื่อ 2016-08-28. สืบค้นเมื่อ 2016-08-12.
- "InDesign: GREP Styles (1) Setting text between parentheses in Italic". จากแหล่งเดิมเมื่อ 2017-09-24. สืบค้นเมื่อ 2018-01-05.
- "InDesign Help: GREP styles". จากแหล่งเดิมเมื่อ 2016-08-28. สืบค้นเมื่อ 2016-08-12.
- . Oxford English Dictionary. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2021-12-06. สืบค้นเมื่อ 2021-12-06.
- , article "Documentation"
- หมายเหตุ
แหล่งข้อมูลอื่น
- เว็บไซต์อย่างเป็นทางการของ GNU Grep
- คู่มือ GNU Grep
- grep(1) – คู่มือโปรแกรมเมอร์ เล่ม 1
- grep(1) – คู่มือ คำสั่ง
- "ทำไม GNU grep ถึงเร็ว" - รายละเอียดการใช้งานจากผู้เขียน GNU grep
- Command Grep – 25 ตัวอย่างเชิงปฏิบัติ
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
ekrp grep epnopraekrmxrrthpraoychnsahrbkarkhnhachudkhxmulkhxkhwamthrrmdasahrbbrrthdthitrngkbniphcnthwip chuxkhxngmnmacakkhasng khux g re p global regular expression search and print sungmiphlechnediywkngrep edimidrbkarphthnasahrbrabbptibtikaryuniksaettxmasamarthichnganidkbrabbehmuxnyuniksthnghmdaelabangrabbxun echngrepExample of grep commandphuxxkaebbnkphthnawnthiepidtwphvscikayn 1973 50 pithiaelw 1973 11 phasathiekhiynCrabbptibtikarUnix Unix like Cross platformpraephthkarnaipichmikarkarximphliemnt grep hlakhlayeca thnginrabbptibtikaraelasingaewdlxmkarphthnasxftaewrcanwnmak ewxrchnaerk idaek egrep aela fgrep sungepidtwin twaepr egrep rxngrbiwyakrnniphcnprktithiephimody hlngcakkarnaniphcnthwipdngedimkhxng ipichngan twaepr fgrep khnhainraykarkhxngstringkhngthiid odyich ibnarikhxngtwaeprehlanimixyuinrabbsmyihm odypktiaelwcaechuxmoyngipyng grep hruxkareriyk grep epnechllskhriptodymikarephimaeflkthiehmaasm echn exec grep E egrep aela fgrep aemcaichnganthwipbnrabb POSIX cnthungcudthikhxkahnd POSIX klawthungkarmixyuxyangaephrhlay aetcring aelwmiidepnswnhnungkhxng POSIX khasngxun mikhawa grep ephuxrabuwaepnekhruxngmuxkhnha sungodythwipcaichkarcbkhuniphcnthwip twxyangechn yuthiliti caaesdngkrabwnkarthimichuxtrngkbniphcnthwipthikahnd inphasaephirl grep khuxchuxkhxngfngkchnintwthikhnhaxngkhprakxbinraykarthitrngtamkhunsmbtibangxyang odythwipnicamichuxwa hrux where inphasaxun khasng pcregrep khuxkarna grep ipichsungichiwyakrn niphcnthwipkhxng Perl fngkchnthikhlayknsamartheriykichidin grep ewxrchn GNU phrxmdwyaeflk P khxng grep phayin Cygwin aela epntn yngthanganbnimokhrsxfth winodws nxkcakniwinodwsbangewxrchnmikhasng qgrep hrux a href wiki E0 B8 84 E0 B9 89 E0 B8 99 E0 B8 AB E0 B8 B2 class mw redirect mw disambig title khnha findstr a thikhlaykn khasng grep yngepnswnhnungkhxng ekhruxngmux MSX DOS2 khxng sahrb ewxrchn 2 thigrep egrep aelafgrep khasng yngthukyayipyngrabbptibtikar IBM i xikdwy sxftaewr Adobe InDesign mifngkchn GREP tngaetewxrchn CS3 2007 inklxngottxb khnha epliynaeplng aethb GREP aelanamaichkb InDesign CS4 in rupaebbyxhna GREP sitl agrep agrep approximate grep grep odypraman cacbkhuaemwakhxkhwamcaphxdikbrupaebbkarkhnha odypraman ethann khasngtxipnicakhnha netmasks inifl myfile aetyngrwmipthungkhaxun thisamarthnamacakkhaniid odycamikaraethnthiimekinsxngkhrng agrep B netmasks myfile twxyangnisrangraykarkarcbkhuthiiklekhiyngthisud sungepnraykarthimikarepliyntwnxythisudaesdngiwepnxndbaerk aeflkkhasng B hmaythung best agrep B netmasks myfilekarichepnkhakriyaineduxnthnwakhm ph s 2546 Oxford English Dictionary Online idephim grep epnthngkhanamaelakhakriya karichepnkhakriyathwipkhuxwli khunimsamarth grep tnimthitayaelwid sunghmaykhwamwaerasamarthkhnhaphansuxdicithlidngaykwaodyichekhruxngmuxechn grep makkwakarkhnhadwykradas echnthithacak tnimthitayaelw sunginbribthnithuxepnsahrbkradas duephimkhntxnwithikarcbkhustring Aho Corasick khasngcbkhustringodypraman hrux Findstr khasng DOS aela Windows thithakarkhnhakhxkhwam khlaykb grep thrrmda khasng Unix thiichkhnhaifltamaextthribiwt aetktangcak grep mak hrux visual grep hrux network grepxangxingKernighan Brian 1984 The Unix Programming Environment Prentice Hall pp 102 ISBN 0 13 937681 X grep was a private command of mine for quite a while before i made it public Ken Thompson 2015 05 26 thi ewyaebkaemchchin By Benjamin Rualthanzauva Published on Feb 5 2014 Medium Hauben et al 1 Jargon File khlngkhxmulekaekbcakaehlngedimemux 2006 06 17 subkhnemux 2006 06 29 Paul S Dayan 1992 The OS 9 Guru 1 The Facts Galactic Industrial Limited ISBN 0 9519228 0 7 xangxingphidphlad payrabu lt ref gt imthuktxng immikarkahndkhxkhwamsahrbxangxingchux reader Hume Andrew 1988 A Tale of Two Greps Software Practice and Experience 18 11 1063 doi 10 1002 spe 4380181105 Meurant Gerard 12 Sep 1990 Algorithms and Complexity Elsevier Science p 278 ISBN 9780080933917 cakaehlngedimemux 4 March 2016 subkhnemux 12 December 2015 grep www pubs opengroup org The Open Group cakaehlngedimemux 28 November 2015 subkhnemux 12 December 2015 pgrep 1 www linux die net cakaehlngedimemux 22 December 2015 subkhnemux 12 December 2015 grep www perldoc perl org cakaehlngedimemux 7 December 2015 subkhnemux 12 December 2015 pcregrep man page www pcre org University of Cambridge cakaehlngedimemux 23 December 2015 subkhnemux 12 December 2015 grep 1 www linux die net cakaehlngedimemux 10 December 2015 subkhnemux 12 December 2015 Spalding George 2000 Windows 2000 administration Network professional s library Osborne McGraw Hill pp 634 ISBN 978 0 07 882582 8 subkhnemux 2010 12 10 QGREP EXE A similar tool to grep in UNIX this tool can be used to search for a text string MSX DOS2 Tools User s Manual by ASCII Corporation April 1993 IBM IBM System i Version 7 2 Programming Qshell PDF IBM phasaxngkvs subkhnemux 2020 09 05 Review Adobe InDesign CS3 CreativePro com creativepro com 20 April 2007 cakaehlngedimemux 5 January 2018 subkhnemux 24 April 2018 InDesign Help find change cakaehlngedimemux 2016 08 28 subkhnemux 2016 08 12 InDesign GREP Styles 1 Setting text between parentheses in Italic cakaehlngedimemux 2017 09 24 subkhnemux 2018 01 05 InDesign Help GREP styles cakaehlngedimemux 2016 08 28 subkhnemux 2016 08 12 Oxford English Dictionary khlngkhxmulekaekbcakaehlngedimemux 2021 12 06 subkhnemux 2021 12 06 article Documentation hmayehtu aehlngkhxmulxunewbistxyangepnthangkarkhxng GNU Grep khumux GNU Grep grep 1 khumuxopraekrmemxr elm 1 grep 1 khumux khasng thaim GNU grep thungerw raylaexiydkarichngancakphuekhiyn GNU grep Command Grep 25 twxyangechingptibti