द सिल्वर सर्चर - प्रोग्रामर्स के लिए एक कोड सर्चिंग टूल


रजत खोजक एक स्वतंत्र और खुला स्रोत है, क्रॉस प्लेटफ़ॉर्म सोर्स कोड सर्च टूल के समान ack (प्रोग्रामर्स के लिए एक grep-like टूल) है लेकिन तेज़ है। यह यूनिक्स जैसे सिस्टम और विंडोज ऑपरेटिंग सिस्टम पर चलता है।

रजत खोजक और ack के बीच का अंतर यह है कि पूर्व को गति के लिए डिज़ाइन किया गया है, और बेंचमार्क परीक्षण साबित करते हैं कि यह वास्तव में तेज़ है।

यदि आप अपने कोड के माध्यम से पढ़ने और खोजने में बहुत समय व्यतीत करते हैं, तो आपको इस उपकरण की आवश्यकता है। यह तेज़ होने और उन फ़ाइलों को नज़रअंदाज़ करने के उद्देश्य से है जिन्हें आप खोजना नहीं चाहते हैं। इस गाइड में, हम लिनक्स में द सिल्वर सर्चर को स्थापित और उपयोग करने का तरीका बताएंगे।

लिनक्स में रजत खोजक को कैसे स्थापित और प्रयोग करें

रजत खोजक पैकेज अधिकांश लिनक्स वितरण पर उपलब्ध है, आप आसानी से अपने पैकेज प्रबंधक के माध्यम से इसे स्थापित कर सकते हैं जैसा कि दिखाया गया है।

$ sudo apt install silversearcher-ag					#Debian/Ubuntu 
$ sudo yum install epel-release the_silver_searcher		        #RHEL/CentOS
$ sudo dnf install silversearcher-ag					#Fedora 22+
$ sudo zypper install the_silver_searcher				#openSUSE
$ sudo pacman -S the_silver_searcher           				#Arch 

इसे स्थापित करने के बाद, आप निम्नलिखित सिंटैक्स के साथ एजी कमांड लाइन टूल चला सकते हैं।

$ ag file-type options PATTERN /path/to/file

सभी समर्थित फ़ाइल प्रकारों की सूची देखने के लिए, निम्न कमांड का उपयोग करें।

$ ag  --list-file-types

यह उदाहरण दिखाता है कि निर्देशिका के अंतर्गत "रूट" शब्द वाले सभी लिपियों के लिए पुनरावर्ती खोज कैसे करें ~/bin/

$ ag root ./bin/

मिलान वाले लाइनों की संख्या के अलावा प्रत्येक फ़ाइल में मेल खाने वाले PATTERN और मेलों की संख्या को प्रिंट करने के लिए, दिखाए गए अनुसार -c स्विच का उपयोग करें।

$ ag -c root ./bin/

केस-संवेदी रूप से मिलान करने के लिए, दिखाए गए अनुसार <कोड> -s ध्वज जोड़ें।

$ ag -cs ROOT ./bin/
$ ag -cs root ./bin/

किसी खोज ऑपरेशन के आंकड़े जैसे कि स्कैन की गई फाइलें, समय लगने आदि के प्रिंट करने के लिए <कोड> - सांख्यिकी विकल्प का उपयोग करें।

$ ag -c root --stats ./bin/

-w ध्वज बताता है ag केवल grep कमांड के समान पूरे शब्दों से मेल खाता है।

$ ag -w root ./bin/

आप <कोड> - कॉलम विकल्प का उपयोग करके परिणामों में कॉलम नंबर दिखा सकते हैं।

$ ag --column root ./bin/

आप विशुद्ध रूप से पाठ फ़ाइलों के माध्यम से खोजने के लिए एजी का उपयोग कर सकते हैं, सभी प्रकार के खोज को खोजने के लिए -t स्विच और -a स्विच का उपयोग किया जाता है फ़ाइलें। इसके अलावा, -u स्विच छिपी हुई फ़ाइलों सहित सभी फ़ाइलों को खोजने में सक्षम बनाता है।

$ ag -t root /etc/
OR
$ ag -a root /etc/
OR
$ ag -u root /etc/

Ag भी संपीड़ित फ़ाइलों की सामग्री के माध्यम से खोज का समर्थन करता है, -z ध्वज का उपयोग करता है।

$ ag -z root wondershaper.gz

आप -f ध्वज के साथ प्रतीकात्मक लिंक (संक्षेप में सिम्लिंक्स) के बाद भी सक्षम कर सकते हैं।

$ ag -tf root /etc/ 

डिफ़ॉल्ट रूप से, एजी खोजें 25 निर्देशिकाएं गहरी, आप उदाहरण के लिए <कोड> - गहराई स्विच का उपयोग करके खोज की गहराई निर्धारित कर सकते हैं।

$ ag --depth 40 -tf root /etc/

अधिक जानकारी के लिए, उपयोग विकल्पों की पूरी सूची के लिए चांदी खोजकर्ता का मैन पेज देखें।

$ man ag

यह जानने के लिए कि सिल्वर खोजकर्ता कैसे काम करता है, इसकी Github रिपॉजिटरी देखें: https://github.com/ggreer/the_silver_searcher।

बस! रजत खोजक फ़ाइलों के माध्यम से खोज करने के लिए एक तेज़, उपयोगी उपकरण है जो खोज करने के लिए समझ में आता है। यह प्रोग्रामर के लिए जल्दी से बड़े स्रोत-कोड बेस की खोज के लिए अभिप्रेत है। आप इसे एक कोशिश दे सकते हैं और अपने विचार साझा कर सकते हैं, हमारे साथ नीचे टिप्पणी फ़ॉर्म के माध्यम से।