- शक्तिशाली, बेहद तेज़, उपयोगकर्ता-अनुकूल, और grep-संगत file pattern search tool
- नए file indexer का उपयोग करके file system search को तेज़ करता है, और TUI (text-based user interface) या grep-संगत options के साथ command line से खोजा जा सकता है
- Google Search जैसे pattern commands का समर्थन
- Fuzzy search का समर्थन (pattern में एक या दो अक्षरों तक गलत शब्दों को पहचानने के लिए विस्तारित या बेहतर search results प्रदान करता है)
- MacOS, Windows, Alpine, Android Termux, Arch, CentOS, Debian, Fedora, FreeBSD, NetBSD, OpenSUSE, RHEL आदि कई systems पर install किया जा सकता है
- nested zip/tar/pax/cpio archives, compressed files, binary files, PDF, doc, docx आदि कई file formats को search और hex dump कर सकता है
कमांड
ugऔरugrepcommands का उपयोग करके files में patterns खोजे जा सकते हैं, औरugworking directory या home directory में मौजूद .ugrep config file का उपयोग करता है।ug --save-config OPTIONSमौजूदा .ugrep config का उपयोग करके working directory में नई .ugrep file सेव करता है।ugrep.ugrep config file का उपयोग नहीं करता, और shell scripts में सबसे बेहतर काम करता है।- विभिन्न examples के जरिए files, directories में pattern matching, config file save करना, Google search आदि के उपयोग का तरीका दिया गया है।
विकल्प
- ugrep, GNU grep के साथ compatible है और GNU grep command-line options को support करता है।
- file list, match display, match information, match context आदि को संभालने के लिए कई options देता है।
- pattern matching modes, interactive TUI, file search, fuzzy search जैसी सुविधाएँ शामिल हैं।
archive और compressed files
-zoption का उपयोग करके archives, tarballs, और compressed files को search किया जा सकता है।- विभिन्न options के माध्यम से archive के अंदर किसी खास स्तर तक search, binary files को ignore करना, और file type व glob patterns के आधार पर search का समर्थन करता है।
binary files और devices
- binary files को ignore या hex dump करने के options, और special devices को search करने के options शामिल हैं।
exclude और include
- binary files ignore करना, symbolic links को follow करना, hidden files को include करना, और खास file types व glob patterns में search को नियंत्रित करने के options देता है।
formatted output
- CSV, JSON, XML, और custom formats सहित कई output formats का समर्थन करता है।
सुंदर चीज़ें, ज़्यादा या कम
- output को अधिक पठनीय बनाने वाले options, color, hyperlinks, pager, tags, match replacement आदि शामिल हैं।
मदद पाना
--helpoption के जरिए ज़रूरी मदद मिल सकती है, और विभिन्न options, patterns, globs, तथा filters पर विस्तृत help दी जाती है।
GN⁺ की राय
- ugrep, पारंपरिक grep tools की तुलना में कहीं अधिक शक्तिशाली features देता है, और विभिन्न file formats व pattern matching options के जरिए search experience को बेहतर बनाता है।
- उपयोगकर्ता-अनुकूल TUI और config files के जरिए अपनी पसंद के अनुसार search environment बनाया जा सकता है।
- यह tool software developers और system administrators के लिए बड़े codebases या file systems को प्रभावी ढंग से explore और analyze करने में बहुत उपयोगी है।
2 टिप्पणियां
मैं ripgrep अच्छी तरह इस्तेमाल कर रहा हूँ, इसलिए दोनों में क्या फ़र्क है यह खोजते-खोजते मुझे यह पोस्ट दिखी।
https://reddit.com/r/rust/…
हालाँकि यह कई साल पुरानी बात है, लेकिन ugrep कहता है कि ugrep, ripgrep से तेज़ है, और ripgrep कहता है कि ripgrep, ugrep से तेज़ है — तो सही बात क्या है? इसी पर यह चर्चा है, और कमेंट्स वाकई कमाल के हैं।
इसमें ugrep द्वारा किए गए tests को फिर से चलाकर उनके नतीजों का सार दिया गया है।
मोटे तौर पर नतीजा यह है कि ज़्यादातर मामलों में ripgrep का तेज़ होना सही लगता है, और ugrep की तरफ़ से tests कुछ ऐसे तरीके से किए गए लगते हैं जो उसके पक्ष में जाते हैं। (यानी ugrep में किए गए tests की शर्तों पर भी ripgrep अक्सर बेहतर नतीजे देता है, और ugrep की तरफ़ से test size को छोटा करके noise की वजह से होने वाले उतार-चढ़ाव को बढ़ाया गया ताकि सिर्फ़ अपने पक्ष के नतीजे चुने जा सकें — ऐसा संदेह व्यक्त किया गया है.)
Hacker News राय
परफ़ॉर्मेंस और ripgrep(ripgrep) की तुलना पर एक थ्रेड है। ripgrep-आधारित कुछ text user interfaces (TUI) भी बताए गए हैं।
shell pipeline के लिए real-time preview देने वाले, और shell में integrate होने वाले टूल की इच्छा जताई गई है। zsh में
accept-and-holdzle widget का उपयोग करके इसी तरह की functionality बनाई गई थी, लेकिन real-time results देखना अधिक बेहतर माना गया।n-gram indexer सपोर्ट में रुचि जताई गई। ripgrep ने भी इस feature की योजना बनाई थी, लेकिन अभी तक इसे implement नहीं किया है। बड़े codebase के लिए csearch का उपयोग किया गया था, लेकिन इसमें कई limitations हैं। नए indexer को Linux kernel tree को index करने में 86 सेकंड लगे, जो csearch के cindex टूल की तुलना में काफ़ी धीमा है।
compatibility को लेकर एक महत्वपूर्ण चेतावनी: यह वास्तव में compatible नहीं है, और कुछ ही सेकंड में ऐसे options मिल गए जो GNU version से पूरी तरह अलग काम करते हैं।
Sebastian Krahmer द्वारा बनाया गया grab भी देखने लायक है।
इस बात पर सवाल उठाया गया कि नए टूल XDG standard का पालन क्यों नहीं करते। XDG standard अपनाने से home directory को ढेर सारी config files से बिखरने से रोका जा सकता है।
Debian-आधारित repository में उपलब्ध Ugrep के बारे में सकारात्मक राय दी गई। खासकर, typo या 1-2 अक्षरों के अंतर को स्वीकार करने वाली fuzzy match feature उपयोगी बताई गई।
एक फ़ाइल के भीतर कई terms खोजने की सुविधा (जिसे "file googling" भी कहा गया) को लेकर संतोष जताया गया। पहले इसके लिए खुद script लिखी गई थी, लेकिन अब इस feature की वजह से उसकी ज़रूरत नहीं रही। TUI भी देखने की योजना है। अब तक ripgrep का उपयोग किया जाता रहा है, लेकिन यह टूल ripgrep की जगह ले सकता है या नहीं, इसकी तुलना की जाएगी।