यह कमांड एके-ग्रेप है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
एके - ग्रेप जैसा पाठ खोजक
SYNOPSIS
एके [विकल्प] पैटर्न [फ़ाइल...]
एके -एफ [विकल्प] [निर्देशिका...]
वर्णन
Ack को इसके विकल्प के रूप में डिज़ाइन किया गया है ग्रेप प्रोग्रामर के लिए।
Ack नामित इनपुट फ़ाइलों को खोजता है (या मानक इनपुट यदि कोई फ़ाइल नाम नहीं है, या फ़ाइल
दिए गए पैटर्न से मेल खाने वाली पंक्तियों के लिए नाम - दिया गया है)। डिफ़ॉल्ट रूप से, ack
मिलान लाइनों को प्रिंट करता है।
पैटर्न एक पर्ल रेगुलर एक्सप्रेशन है। पर्ल रेगुलर एक्सप्रेशन आमतौर पर पाए जाते हैं
अन्य प्रोग्रामिंग भाषाएँ, लेकिन उनके व्यवहार के विवरण के लिए कृपया परामर्श लें
<http://perldoc.perl.org/perlreref.html|perlreref>. यदि आप नियमित उपयोग करना नहीं जानते
अभिव्यक्ति लेकिन सीखने में रुचि रखते हैं, तो आप परामर्श ले सकते हैं
<http://perldoc.perl.org/perlretut.html|perlretut>. यदि आपको ack की आवश्यकता नहीं है या आप उपयोग करना चाहते हैं
नियमित अभिव्यक्ति, कृपया "-Q"/"--शाब्दिक" विकल्प देखें।
Ack उन फ़ाइलों को भी सूचीबद्ध कर सकता है जिन्हें वास्तव में खोजे बिना खोजा जाएगा
आप एके की फ़ाइल-प्रकार फ़िल्टरिंग क्षमताओं का लाभ उठाते हैं।
फ़ाइल चयन
यदि फ़ाइलें खोज के लिए निर्दिष्ट नहीं हैं, तो या तो कमांड लाइन पर या पाइप के साथ
"-x" विकल्प, ack खोज के लिए फ़ाइलों का चयन करने वाली उपनिर्देशिकाओं में गहराई से जाएँ।
ack यह खोजी जाने वाली फ़ाइलों के बारे में बुद्धिमान है। यह आधारित कुछ फ़ाइल प्रकारों के बारे में जानता है
फ़ाइल पर एक्सटेंशन और, कुछ मामलों में, फ़ाइल की सामग्री दोनों पर। इन
के साथ चयन किया जा सकता है --प्रकार विकल्प.
बिना किसी फ़ाइल चयन के, ack नियमित फ़ाइलों के माध्यम से खोजता है जो स्पष्ट रूप से नहीं हैं
द्वारा बहिष्कृत --अनदेखा-dir और --अनदेखा-फ़ाइल विकल्प, या तो मौजूद हैं ए.सी.आर.सी फ़ाइलें या चालू
कमांड लाइन।
के लिए डिफ़ॉल्ट विकल्प ack कुछ फ़ाइलों और निर्देशिकाओं को अनदेखा करें। इसमे शामिल है:
· बैकअप फ़ाइलें: फ़ाइलें मिलान #*# या के साथ समाप्त हो रहा है ~.
· कोरडम्प्स: फाइलों का मिलान कोर.\d+
· संस्करण नियंत्रण निर्देशिका जैसे एसवीएन और .git.
रन ack "--डंप" विकल्प के साथ यह देखने के लिए कि कौन सी सेटिंग्स सेट की गई हैं।
हालांकि, ack हमेशा कमांड लाइन पर दी गई फ़ाइलों को खोजता है, चाहे वह किसी भी प्रकार की हो। अगर
तुम बताओ ack कोरडंप में खोजने के लिए, यह कोरडंप में खोजेगा।
निर्देशिका चयन
ack निर्दिष्ट आरंभिक निर्देशिकाओं के निर्देशिका वृक्ष के माध्यम से उतरता है। अगर कोई नहीं
निर्देशिकाएँ निर्दिष्ट हैं, वर्तमान कार्यशील निर्देशिका का उपयोग किया जाता है। हालाँकि, यह अनदेखा कर देगा
कई संस्करण नियंत्रण प्रणालियों द्वारा उपयोग की जाने वाली छाया निर्देशिकाएँ, और बिल्ड निर्देशिकाएँ
पर्ल मेकमेकर सिस्टम द्वारा उपयोग किया जाता है। आप इस सूची से कोई निर्देशिका जोड़ या हटा सकते हैं
la --[नहीं]अनदेखा-dir विकल्प। एकाधिक निर्देशिकाओं को जोड़ने/हटाने के लिए विकल्प दोहराया जा सकता है
उपेक्षा सूची से.
खोजी न जाने वाली निर्देशिकाओं की पूरी सूची के लिए, "ack --dump" चलाएँ।
जब सेवा मेरे उपयोग ग्रेप
ack तुरुप ग्रेप 99% समय रोजमर्रा के उपकरण के रूप में, लेकिन फेंकें नहीं ग्रेप दूर, क्योंकि
कई बार आपको अभी भी इसकी आवश्यकता होगी।
उदाहरण के लिए, बड़ी फ़ाइलों के माध्यम से रेगेक्स की खोज करना जिनके साथ व्यक्त किया जा सकता है ग्रेप
वाक्यविन्यास तेज होना चाहिए ग्रेप.
यदि आपकी स्क्रिप्ट या पैरेंट प्रोग्राम उपयोग करता है ग्रेप "--शांत" या "--मौन" या आईओ पर निकास 2 की आवश्यकता है
त्रुटि, उपयोग ग्रेप.
विकल्प
--एकेआरसी
अन्य सभी के बाद लोड करने के लिए एक एकेआरसी फ़ाइल निर्दिष्ट करता है; "ACKRC स्थान शब्दार्थ" देखें।
-A NUM, --बाद-संदर्भ=NUM
प्रिंट NUM मिलान पंक्तियों के बाद अनुगामी संदर्भ की पंक्तियाँ।
-B NUM, --पहले-संदर्भ=NUM
प्रिंट NUM मिलान पंक्तियों से पहले प्रमुख संदर्भ की पंक्तियाँ।
--[कोई तोड़
विभिन्न फ़ाइलों के परिणामों के बीच एक ब्रेक प्रिंट करें। उपयोग किए जाने पर डिफ़ॉल्ट रूप से चालू
अंतःक्रियात्मक रूप से।
-C [NUM], --संदर्भ[=NUM]
प्रिंट NUM मेल खाती पंक्तियों के आसपास संदर्भ की पंक्तियाँ (डिफ़ॉल्ट 2)।
-c, --गिनती
सामान्य आउटपुट को दबाएँ; इसके बजाय प्रत्येक इनपुट फ़ाइल के लिए मिलान पंक्तियों की संख्या प्रिंट करें।
If -l प्रभावी है, यह केवल प्रत्येक फ़ाइल के लिए लाइनों की संख्या दिखाएगा जिसमें लाइनें हैं
मेल मिलाना। बिना -l, कुछ पंक्तियों की संख्या शून्य हो सकती है।
अगर के साथ संयुक्त -h (--no-फ़ाइलनाम) ack केवल एक कुल गिनती आउटपुट करता है।
--[रंग नहीं, --[नहीं]रंग
--रंग मेल खाने वाले टेक्स्ट को हाइलाइट करता है। --रंग नहीं रंग को दबा देता है. यह चालू है
डिफ़ॉल्ट, जब तक कि आउटपुट पुनर्निर्देशित न हो।
विंडोज़ पर, यह विकल्प डिफ़ॉल्ट रूप से बंद है जब तक कि Win32::Console::ANSI मॉड्यूल न हो
स्थापित या "ACK_PAGER_COLOR" पर्यावरण चर का उपयोग किया जाता है।
--रंग-फ़ाइलनाम=रंग
फ़ाइल नामों के लिए उपयोग किए जाने वाले रंग को सेट करता है।
--रंग-मिलान=रंग
माचिस के लिए उपयोग किए जाने वाले रंग को सेट करता है।
--रंग-lineno=रंग
पंक्ति संख्याओं के लिए उपयोग किए जाने वाले रंग को सेट करता है।
--[नहीं]कॉलम
पहले मैच का कॉलम नंबर दिखाएँ. यह उन संपादकों के लिए सहायक है जो स्थान दे सकते हैं
किसी दिए गए स्थान पर आपका कर्सर।
--create-ackrc
डिफ़ॉल्ट एके विकल्प को मानक आउटपुट में डंप कर देता है। यह तब उपयोगी है जब आप चाहें
डिफ़ॉल्ट को अनुकूलित करें.
--गंदी जगह
लोड किए गए विकल्पों की सूची लिखें और वे मानक आउटपुट में कहां से आए। सुविधाजनक
डिबगिंग के लिए।
--[नहीं]पर्यावरण
--noenv सभी पर्यावरण प्रसंस्करण को अक्षम कर देता है। नहीं .एकेआरसी पढ़ा जाता है और सारा वातावरण
चरों को नजरअंदाज कर दिया जाता है। डिफ़ॉल्ट रूप से, ack समझता है .एकेआरसी और सेटिंग्स में
पर्यावरण.
--फ्लश
--फ्लश आउटपुट को तुरंत फ्लश करता है। यह डिफ़ॉल्ट रूप से बंद है जब तक कि ack नहीं चल रहा हो
अंतःक्रियात्मक रूप से (जब आउटपुट किसी पाइप या फ़ाइल में जाता है)।
-f केवल वही फ़ाइलें प्रिंट करें जिन्हें खोजा जाएगा, वास्तव में कोई खोज किए बिना।
पैटर्न निर्दिष्ट नहीं किया जाना चाहिए, अन्यथा इसे खोज के पथ के रूप में लिया जाएगा।
--फ़ाइलें-से=फ़ाइल
खोजी जाने वाली फ़ाइलों की सूची निर्दिष्ट है फ़ाइल. फाइलों की सूची है
नई पंक्तियों द्वारा अलग किया गया। अगर फ़ाइल "-" है, सूची मानक इनपुट से लोड की गई है।
--[कोई फिल्टर नहीं
ack को ऐसे कार्य करने के लिए बाध्य करता है मानो वह किसी पाइप के माध्यम से इनपुट प्राप्त कर रहा हो।
--[कोई पालन नहीं
किसी भी आरंभिक फ़ाइल या निर्देशिका के अलावा, सिम्लिंक का अनुसरण करें या न करें
कमांड लाइन पर निर्दिष्ट किया गया था।
यह डिफ़ॉल्ट रूप से बंद है.
-g प्रतिरूप
फ़ाइलें प्रिंट करें जहां संबंधित पथ + फ़ाइल नाम मेल खाता हो प्रतिरूप. यह विकल्प हो सकता है
के साथ संयुक्त --रंग ताकि मैच का पता लगाना आसान हो जाए।
--[नहीं]समूह
--समूह समूह फ़ाइल नाम से मेल खाते हैं। इंटरैक्टिव रूप से उपयोग किए जाने पर यह डिफ़ॉल्ट होता है।
--नोग्रुप grep की तरह, प्रति पंक्ति एक परिणाम प्रिंट करता है। आउटपुट होने पर यह डिफ़ॉल्ट है
पुनर्निर्देशित।
-H, --साथ-फ़ाइलनाम
प्रत्येक मिलान के लिए फ़ाइल नाम प्रिंट करें। एकल खोजे जाने तक यह डिफ़ॉल्ट है
स्पष्ट रूप से निर्दिष्ट फ़ाइल।
-h, --no-फ़ाइलनाम
एकाधिक फ़ाइलें खोजे जाने पर आउटपुट पर फ़ाइल नामों के उपसर्ग को रोकें।
--[नहीं]शीर्षक
प्रत्येक फ़ाइल के परिणामों के ऊपर एक फ़ाइल नाम शीर्षक प्रिंट करें। उपयोग किए जाने पर यह डिफ़ॉल्ट होता है
अंतःक्रियात्मक रूप से।
--मदद, -?
एक संक्षिप्त सहायता विवरण प्रिंट करें.
--सहायता-प्रकार, --सहायता=प्रकार
सभी ज्ञात प्रकार प्रिंट करें.
-i, --मामले की अनदेखी करें
पैटर्न में केस भेदों पर ध्यान न दें
--अनदेखा-एके-डिफ़ॉल्ट्स
एके को एके के साथ प्रदान की गई डिफ़ॉल्ट परिभाषाओं को पूरी तरह से अनदेखा करने के लिए कहता है। यह है
के साथ संयोजन में उपयोगी है --create-ackrc आप अगर वास्तव में एके को अनुकूलित करना चाहते हैं.
--[नहीं]अनदेखा-dir=DIRNAME, --[नहीं]अनदेखा-निर्देशिका=DIRNAME
निर्देशिका को अनदेखा करें (क्योंकि CVS, .svn, आदि को अनदेखा किया जाता है)। नजरअंदाज करने के लिए कई बार इस्तेमाल किया जा सकता है
एकाधिक निर्देशिकाएँ. उदाहरण के लिए, मेसन उपयोगकर्ता शामिल करना चाह सकते हैं --अनदेखा-dir=डेटा.
RSI --noignore-dir विकल्प उपयोगकर्ताओं को उन निर्देशिकाओं को खोजने की अनुमति देता है जो सामान्य रूप से होती हैं
नजरअंदाज कर दिया गया (शायद इसकी सामग्री पर शोध करने के लिए)। .svn/प्रॉप्स निर्देशिकाएँ)।
RSI DIRNAME हमेशा एक साधारण निर्देशिका नाम होना चाहिए. नेस्टेड निर्देशिकाएँ जैसे फू/बार
समर्थित नहीं हैं. आपको निर्दिष्ट करना होगा --अनदेखा-dir=foo और फिर कोई फ़ाइल नहीं
किसी भी foo निर्देशिका को ack द्वारा ध्यान में रखा जाता है जब तक कि कमांड पर स्पष्ट रूप से नहीं दिया गया हो
लाइन.
--अनदेखा-फ़ाइल=फ़िल्टर प्रकार: फ़िल्टर आर्ग्स
मेल खाने वाली फ़ाइलों पर ध्यान न दें फ़िल्टर प्रकार: फ़िल्टर आर्ग्स. फ़िल्टर समान रूप से निर्दिष्ट हैं
फ़ाइल प्रकार फ़िल्टर जैसा कि "अपने स्वयं के प्रकारों को परिभाषित करना" में देखा गया है।
-k, --ज्ञात-प्रकार
चयनित फ़ाइलों को उन प्रकारों तक सीमित करें जिनके बारे में ack को पता है। ये इसके बराबर है
एके 1 में डिफ़ॉल्ट व्यवहार पाया गया।
--पंक्तियाँ=NUM
केवल प्रिंट लाइन NUM प्रत्येक फ़ाइल का. एकाधिक के साथ एकाधिक पंक्तियाँ दी जा सकती हैं --लाइनें
विकल्प या अल्पविराम से अलग की गई सूची के रूप में (--लाइनें=3,5,7). --लाइनें=4-7 भी काम करता है.
लाइनें हमेशा आरोही क्रम में आउटपुट होती हैं, चाहे कमांड पर कोई भी ऑर्डर दिया गया हो
लाइन.
-l, --फाइल्स-साथ-मैचों
मेल खाने वाले टेक्स्ट के बजाय केवल मेल खाने वाली फ़ाइलों के फ़ाइल नाम प्रिंट करें।
-L, --फ़ाइलें-बिना-मिलान
केवल उन फ़ाइलों के फ़ाइल नाम प्रिंट करें जो ऐसा करते हैं नहीं मैच.
--मिलान प्रतिरूप
विवरण दें प्रतिरूप स्पष्ट रूप से. यदि आप रेगेक्स को इस रूप में नहीं रखना चाहते तो यह सहायक है
आपका पहला तर्क, उदाहरण के लिए फ़ाइलों के एक ही सेट पर एकाधिक खोज निष्पादित करते समय।
# दी गई फ़ाइलों में foo और bar खोजें
एके फाइल1 टी/फाइल*--मैच फू
एके फाइल1 टी/फाइल*--मैच बार
-एम =NUM, --मैक्स-गिनती=NUM
के बाद फ़ाइल पढ़ना बंद करें NUM मेल खाता है।
--पुरुष
इस मैनुअल पेज को प्रिंट करें.
-n, --कोई पुनरावृत्ति नहीं
उपनिर्देशिकाओं में कोई अवरोहण नहीं।
-o पैटर्न से मेल खाने वाली प्रत्येक पंक्ति का केवल भाग दिखाएं (टेक्स्ट हाइलाइटिंग बंद कर देता है)
--आउटपुट=expr
का मूल्यांकन आउटपुट करें expr प्रत्येक पंक्ति के लिए (टेक्स्ट हाइलाइटिंग बंद कर देता है) यदि पैटर्न
एक से अधिक बार मेल खाता है तो प्रत्येक गैर-अतिव्यापी मैच के लिए एक पंक्ति आउटपुट होती है। अधिक जानकारी के लिए
कृपया जानकारी अनुभाग "के उदाहरण" देखें --आउटपुट".
--पेजर=कार्यक्रम, --नोपेजर
--पेजर ack के आउटपुट को निर्देशित करता है कार्यक्रम. इसे के माध्यम से भी निर्दिष्ट किया जा सकता है
"ACK_PAGER" और "ACK_PAGER_COLOR" पर्यावरण चर।
--पेजर का उपयोग पाइपिंग आउटपुट की तरह ग्रुपिंग और कलरिंग को नहीं रोकता है
कमांड-लाइन करती है.
--नोपेजर किसी भी सेटिंग को रद्द कर देता है ~/.ackrc, "ACK_PAGER" या "ACK_PAGER_COLOR"। नहीं
आउटपुट पेजर के माध्यम से भेजा जाएगा.
--होकर गुज़रना
सभी पंक्तियों को प्रिंट करता है, चाहे वे अभिव्यक्ति से मेल खाती हों या नहीं। हाइलाइटिंग अभी भी होगी
हालाँकि, काम करता है, इसलिए इसका उपयोग संपूर्ण को देखते हुए मैचों को हाइलाइट करने के लिए किया जा सकता है
फ़ाइल, जैसे:
# लॉग फ़ाइल देखें, और एक निश्चित आईपी पते को हाइलाइट करें
$ पूँछ -एफ ~/एक्सेस.लॉग | एके--पासथ्रू 123.45.67.89
--प्रिंट0
केवल -f, -g, -l या -c (फ़ाइल नाम आउटपुट) के संयोजन में काम करता है। फ़ाइल नाम हैं
आउटपुट को सामान्य न्यूलाइन के बजाय एक शून्य बाइट से अलग किया गया। यह तब मददगार होता है जब
उन फ़ाइलनामों से निपटना जिनमें रिक्त स्थान है, उदाहरण के लिए
# html प्रकार की सभी फ़ाइलें हटाएँ
ack -f --html --print0 | xargs -0 आरएम -एफ
-Q, --शाब्दिक
PATTERN में सभी मेटाकैरेक्टर्स को उद्धृत करें, इसे शाब्दिक माना जाता है।
-r, -R, --recurs
उप-निर्देशिकाओं में पुनरावृत्ति करें. यह डिफ़ॉल्ट है और यहां केवल अनुकूलता के लिए है
ग्रेप. आप इसका उपयोग मोड़ने के लिए भी कर सकते हैं --कोई पुनरावृत्ति नहीं बंद।
-s अस्तित्वहीन या अपठनीय फ़ाइलों के बारे में त्रुटि संदेश दबाएँ। ये से लिया गया है
fgrep.
--[नहीं]स्मार्ट-केस, --नो-स्मार्ट-केस
यदि PATTERN में कोई अपरकेस वर्ण नहीं है तो खोज स्ट्रिंग में केस को अनदेखा करें। यह है
विम में "स्मार्टकेस" के समान। यह विकल्प डिफ़ॉल्ट रूप से बंद है, और यदि "-i" है तो इसे अनदेखा कर दिया जाता है
निर्दिष्ट।
-i हमेशा इस विकल्प को ओवरराइड करता है.
--सॉर्ट-फ़ाइलें
पाई गई फ़ाइलों को शब्दकोषीय रूप से क्रमबद्ध करता है। यदि आप अपनी फ़ाइल सूची चाहते हैं तो इसका उपयोग करें
के रनों के बीच नियतिवादी बनें ack.
--दिखाएँ-प्रकार
उन फ़ाइल प्रकारों को आउटपुट करता है जो ack प्रत्येक फ़ाइल के साथ संबद्ध होते हैं।
के साथ काम करता है -f और -g विकल्प.
--प्रकार=[नहीं]प्रकार
खोज में शामिल करने या बाहर करने के लिए फ़ाइलों के प्रकार निर्दिष्ट करें। TYPE एक फ़ाइल प्रकार है,
पसंद पर्ल or एक्सएमएल. --प्रकार=पर्ल के रूप में भी निर्दिष्ट किया जा सकता है --पर्ल, तथा --प्रकार=नोपर्ल कर सकते हैं
के रूप में किया जाए --noperl.
यदि कोई फ़ाइल "foo" और "bar" दोनों प्रकार की है, तो --foo और --nobar को निर्दिष्ट करने से बाहर कर दिया जाएगा
फ़ाइल, क्योंकि बहिष्करण को समावेशन पर प्राथमिकता दी जाती है।
प्रकार विनिर्देशों को दोहराया जा सकता है और एक साथ ORed किया जा सकता है।
देख ack --सहायता=प्रकार वैध प्रकारों की सूची के लिए.
--प्रकार-जोड़ें TYPE:फ़िल्टर:फ़िल्टर आर्ग्स
दिए गए FILTERARGS वाली फ़ाइलों को दिए गए FILTER पर लागू किया जाता है
(मौजूदा) प्रकार टाइप करें। "अपने स्वयं के प्रकारों को परिभाषित करना" भी देखें।
--प्रकार-सेट TYPE:फ़िल्टर:फ़िल्टर आर्ग्स
दिए गए FILTERARGS वाली फ़ाइलों को दिए गए FILTER पर लागू किया जाता है
प्रकार टाइप करें. यह प्रकार TYPE के लिए मौजूदा परिभाषा को प्रतिस्थापित करता है। यह भी देखें "परिभाषित करना
आपके अपने प्रकार"।
--टाइप-डेल TYPE
TYPE से जुड़े फ़िल्टर Ack से हटा दिए गए हैं, और अब उन पर विचार नहीं किया जाता है
खोजों के लिए.
-v, --इनवर्ट-मैच
उलटा मिलान: गैर-मिलान वाली पंक्तियों का चयन करें
--संस्करण
संस्करण और कॉपीराइट जानकारी प्रदर्शित करें.
-w, --शब्द-regexp
पैटर्न को केवल पूरे शब्दों से मेल खाने के लिए बाध्य करें। पैटर्न "\b" से लपेटा गया है
रूपक।
-x के लिए एक संक्षिप्त नाम --फ़ाइलें-से=-; खोजे जाने वाली फ़ाइलों की सूची मानक से पढ़ी जाती है
इनपुट, प्रति फ़ाइल एक पंक्ति के साथ।
-1 किसी भी प्रकार के पहले मैच की रिपोर्टिंग के बाद रुक जाता है। ये अलग है --अधिकतम-गणना=1
or -एम 1, जहां प्रति फ़ाइल केवल एक मिलान दिखाया गया है। भी, -1 के साथ काम करता है -f और -g, जहां
-m नहीं करता।
--thpppt
सभी महत्वपूर्ण बिल द कैट लोगो प्रदर्शित करें। ध्यान दें कि की सटीक वर्तनी
--thpppppt महत्वपूर्ण नहीं है। इसे रेगुलर एक्सप्रेशन के विरुद्ध जाँचा जाता है।
--छड़
जाल के लिए एडमिरल से जाँच करें।
--कैथी
चॉकलेट, चॉकलेट, चॉकलेट!
THE .एकेआरसी फ़ाइल
RSI .एकेआरसी फ़ाइल में कमांड-लाइन विकल्प होते हैं जो कमांड लाइन से जुड़े होते हैं
प्रसंस्करण से पहले. एकाधिक विकल्प एकाधिक लाइनों पर रह सकते हैं। # से शुरू होने वाली पंक्तियाँ
नजरअंदाज कर दिया जाता है. ए .एकेआरसी इस तरह लग सकता है:
# फ़ाइलों को हमेशा क्रमबद्ध करें
--सॉर्ट-फ़ाइलें
# हमेशा रंग दें, भले ही किसी अन्य प्रोग्राम में पाइपिंग हो
--रंग
# मेरे पेजर के रूप में "less -r" का उपयोग करें
--पेजर=कम -आर
ध्यान दें कि रिक्त स्थान वाले तर्कों को उद्धृत करने की आवश्यकता नहीं है, क्योंकि वे नहीं हैं
शैल द्वारा व्याख्या की गई। मूलतः, प्रत्येक line में .एकेआरसी फ़ाइल को एक के रूप में समझा जाता है
@ARGV का तत्व.
ack के लिए कई स्थानों पर तलाश करता है .एकेआरसी फ़ाइलें; खोज प्रक्रिया विस्तृत है
"ACKRC स्थान शब्दार्थ"। यदि इन फ़ाइलों पर विचार नहीं किया जाता है --noenv पर निर्दिष्ट है
कमांड लाइन।
परिभाषित तुंहारे अपना प्रकार
ack आपको पूर्वनिर्धारित प्रकारों के अतिरिक्त अपने स्वयं के प्रकारों को परिभाषित करने की अनुमति देता है। यह किया जाता है
कमांड लाइन विकल्पों के साथ जिन्हें सबसे अच्छे तरीके से रखा जाता है .एकेआरसी फ़ाइल - तो आपको ऐसा करने की आवश्यकता नहीं है
अपने प्रकारों को बार-बार परिभाषित करें। निम्नलिखित उदाहरणों में विकल्प हमेशा रहेंगे
एक कमांड लाइन पर दिखाया जाए ताकि उन्हें आसानी से कॉपी और पेस्ट किया जा सके।
ack --पर्ल foo सभी पर्ल फ़ाइलों में foo खोजता है। ack --सहायता=प्रकार आपको बताता है, वह पर्ल
फ़ाइलें .pl, .pm, .pod या .t पर समाप्त होने वाली फ़ाइलें हैं। तो क्या होगा यदि आप .xs को शामिल करना चाहेंगे
--perl फ़ाइलें खोजते समय फ़ाइलें भी? ack --प्रकार-जोड़ें पर्ल: टेक्स्ट:xs --पर्ल foo कर देता है
ये तुम्हारे लिए। --प्रकार-जोड़ें मौजूदा प्रकार में अतिरिक्त एक्सटेंशन जोड़ता है।
यदि आप एक नए प्रकार को परिभाषित करना चाहते हैं, या किसी मौजूदा प्रकार को पूरी तरह से फिर से परिभाषित करना चाहते हैं, तो इसका उपयोग करें
--प्रकार-सेट. ack --प्रकार-सेट एफिल:पाठ:ई,एफिल प्रकार को परिभाषित करता है एफिल फ़ाइलें शामिल करने के लिए
एक्सटेंशन .e या .eiffel के साथ। तो शब्द युक्त सभी एफिल फ़ाइलों को खोजने के लिए
बर्ट्रेंड का उपयोग ack --प्रकार-सेट एफिल:पाठ:ई,एफिल --एफिल बर्ट्रेंड. हमेशा की तरह, आप भी कर सकते हैं
लिखना --प्रकार=एफिल के बजाय --एफिल. निषेध भी काम करता है, इसलिए --नोइफ़ेल सभी को छोड़कर
एक खोज से एफिल फ़ाइलें। पुनर्परिभाषित करना भी काम करता है: ack --प्रकार-सेट सीसी:एक्सट:सी,एच और .xs फ़ाइलों
अब इस प्रकार का नहीं है cc.
में अपने स्वयं के प्रकारों को परिभाषित करते समय .एकेआरसी फ़ाइल के लिए आपको निम्नलिखित का उपयोग करना होगा:
--टाइप-सेट=एफिल:एक्सट:ई,एफिल
या अलग-अलग पंक्तियों में लिखना
--प्रकार-सेट
एफिल:पाठ:ई,एफिल
निम्नलिखित करता है नहीं में काम करें .एकेआरसी फ़ाइल:
--टाइप-सेट एफिल: टेक्स्ट: ई, एफिल
वर्तमान में परिभाषित सभी प्रकारों को देखने के लिए, उपयोग करें --सहायता-प्रकार, उदा ack --प्रकार-सेट
बैकअप: टेक्स्ट: बेक --प्रकार-जोड़ें पर्ल:एक्सट:पर्ल --सहायता-प्रकार
एक्सटेंशन के आधार पर फ़िल्टरिंग के अलावा (जैसे ack 1.x की अनुमति है), ack 2 ऑफ़र करता है
अतिरिक्त फ़िल्टर प्रकार. सामान्य वाक्यविन्यास है --प्रकार-सेट प्रकार:फ़िल्टर:फ़िल्टरआर्ज़;
फ़िल्टर आर्ग्स के मूल्य पर निर्भर करता है फ़िल्टर.
है:फ़ाइल का नाम
is फ़िल्टर लक्ष्य फ़ाइल नाम से बिल्कुल मेल खाते हैं। इसके लिए बिल्कुल एक तर्क की आवश्यकता होती है, जो है
मिलान करने के लिए फ़ाइल का नाम.
उदाहरण:
--टाइप-सेट मेक: है: मेकफ़ाइल
विस्तार:विस्तार[,एक्सटेंशन2[,...]]
ext फ़िल्टर एक्सटेंशन की सूची के विरुद्ध लक्ष्य फ़ाइल के एक्सटेंशन से मेल खाते हैं। नहीं
एक्सटेंशन के लिए अग्रणी बिंदु की आवश्यकता है.
उदाहरण:
--टाइप-सेट पर्ल: टेक्स्ट: पीएल, अपराह्न, टी
मैच:प्रतिरूप
मैच फ़िल्टर नियमित अभिव्यक्ति के विरुद्ध लक्ष्य फ़ाइल नाम से मेल खाते हैं। नियमित
खोज के लिए अभिव्यक्ति को केस असंवेदनशील बना दिया गया है।
उदाहरण:
--प्रकार-सेट मेक:मैच:/(gnu)?मेकफ़ाइल/
फ़र्स्टलाइनमैच:प्रतिरूप
फर्स्टलाइनमैच नियमित अभिव्यक्ति के विरुद्ध लक्ष्य फ़ाइल की पहली पंक्ति से मेल खाता है।
पसंद मैच, रेगुलर एक्सप्रेशन को केस असंवेदनशील बना दिया गया है।
उदाहरण:
--प्रकार-जोड़ें पर्ल:फर्स्टलाइनमैच:/पर्ल/
भविष्य में अधिक फ़िल्टर प्रकार उपलब्ध कराये जा सकते हैं।
वातावरण चर
आमतौर पर उपयोग किए जाने वाले एके विकल्पों के लिए, पर्यावरण चर जीवन को बहुत आसान बना सकते हैं। इन
यदि चरों को नजरअंदाज कर दिया जाता है --noenv कमांड लाइन पर निर्दिष्ट है।
ACKRC
उपयोगकर्ता का स्थान निर्दिष्ट करता है .एकेआरसी फ़ाइल। यदि यह फ़ाइल मौजूद नहीं है, ack
डिफ़ॉल्ट स्थान पर दिखता है.
एसीके_विकल्प
यह वेरिएबल किसी भी स्पष्ट विकल्प के सामने रखे जाने वाले डिफ़ॉल्ट विकल्पों को निर्दिष्ट करता है
कमांड लाइन पर।
ACK_COLOR_FILENAME
फ़ाइल नाम मुद्रित होने पर उसका रंग निर्दिष्ट करता है --समूह तरीका। डिफ़ॉल्ट रूप से,
यह "बोल्ड ग्रीन" है।
मान्यता प्राप्त विशेषताएँ स्पष्ट, रीसेट, डार्क, बोल्ड, अंडरलाइन, अंडरस्कोर, ब्लिंक, हैं।
उल्टा, छिपा हुआ काला, लाल, हरा, पीला, नीला, मैजेंटा, ऑन_ब्लैक, ऑन_रेड,
on_green, on_yellow, on_blue, on_magenta, on_cyan, और on_white. केस नहीं है
महत्वपूर्ण। अंडरलाइन और अंडरस्कोर समतुल्य हैं, जैसे स्पष्ट और रीसेट हैं।
रंग अकेले अग्रभूमि रंग सेट करता है, और on_color पृष्ठभूमि रंग सेट करता है।
इस विकल्प के साथ भी सेट किया जा सकता है --रंग-फ़ाइल नाम.
ACK_COLOR_MATCH
मुद्रित होने पर मेल खाने वाले पाठ का रंग निर्दिष्ट करता है --रंग तरीका। डिफ़ॉल्ट रूप से,
यह "काला पर_पीला" है।
इस विकल्प के साथ भी सेट किया जा सकता है --रंग मिलान.
देख ACK_COLOR_FILENAME रंग विशिष्टताओं के लिए.
ACK_COLOR_LINENO
मुद्रित होने पर पंक्ति संख्या का रंग निर्दिष्ट करता है --रंग तरीका। डिफ़ॉल्ट रूप से, यह है
"बोल्ड पीला"।
इस विकल्प के साथ भी सेट किया जा सकता है --रंग-लिनेनो.
देख ACK_COLOR_FILENAME रंग विशिष्टताओं के लिए.
एसीके_पेजर
एक पेजर प्रोग्राम निर्दिष्ट करता है, जैसे "अधिक", "कम" या "अधिकांश", जिस पर ack भेजेगा
इसका आउटपुट.
"ACK_PAGER" का उपयोग करने से पाइपिंग आउटपुट जैसे समूहीकरण और रंग को दबाया नहीं जाता है
कमांड-लाइन ऐसा करती है, सिवाय इसके कि विंडोज़ पर एके यह मान लेगा कि "ACK_PAGER" नहीं करता है
समर्थन रंग.
यदि दोनों निर्दिष्ट हैं तो "ACK_PAGER_COLOR" "ACK_PAGER" को ओवरराइड कर देता है।
ACK_PAGER_COLOR
एक पेजर प्रोग्राम निर्दिष्ट करता है जो ANSI रंग अनुक्रमों को समझता है। का उपयोग करते हुए
"ACK_PAGER_COLOR" पाइपिंग आउटपुट की तरह ग्रुपिंग और कलरिंग को दबाता नहीं है
कमांड-लाइन करती है.
यदि आप विंडोज़ पर नहीं हैं, तो आपको कभी भी "ACK_PAGER_COLOR" का उपयोग करने की आवश्यकता नहीं है।
उपलब्ध रंग
ack पर्ल के टर्म::ANSIColor मॉड्यूल में उपलब्ध रंगों का उपयोग करता है, जो प्रदान करता है
निम्नलिखित सूचीबद्ध मान। ध्यान दें कि इन मानों का उपयोग करते समय केस कोई मायने नहीं रखता।
अग्रभूमि रंग
काला लाल हरा पीला नीला मैजेंटा सियान सफेद
चमकीला_काला चमकीला_लाल चमकीला_हरा चमकीला_पीला
उज्ज्वल_नीला उज्ज्वल_मैजेंटा उज्ज्वल_सियान उज्ज्वल_सफ़ेद
पृष्ठभूमि रंग
पर_काले पर_लाल पर_हरे पर_पीले पर
ऑन_ब्लू ऑन_मैजेंटा ऑन_सियान ऑन_व्हाइट
चमकीले काले पर चमकीले लाल पर चमकीले हरे पर चमकीले पीले पर
ऑन_ब्राइट_ब्लू ऑन_ब्राइट_मैजेंटा ऑन_ब्राइट_सियान ऑन_ब्राइट_व्हाइट
एसीके & अन्य उपकरण
शक्ति एकीकरण
ack विम टेक्स्ट एडिटर के साथ आसानी से एकीकृत हो जाता है। इसे अपने में सेट करें .vimrc उपयोग करने के लिए ack बजाय
of ग्रेप:
सेट grepprg=ack\ -k
वह उदाहरण केवल उन प्रकारों की फ़ाइलों को खोजने के लिए "-k" का उपयोग करता है जिनके बारे में ack जानता है, लेकिन आप
अन्य डिफ़ॉल्ट झंडे का उपयोग कर सकते हैं. अब आप इसके साथ खोज सकते हैं ack और आसानी से आगे बढ़ें
विम में परिणाम:
:grep डम्पर पर्लिब
माइल्स स्टेरेट ने इसके लिए एक विम प्लगइन लिखा है ack जो आपको इसके बजाय ":Ack" का उपयोग करने की अनुमति देता है
":grep", साथ ही कई अन्य उन्नत सुविधाएँ।
Emacs एकीकरण
फिल जैक्सन ने एक साथ रखा एके.एल एक्सटेंशन जो "एक सरल संकलन मोड प्रदान करता है ...
प्रमुख-मोड के आधार पर यह अनुमान लगाने की क्षमता है कि आप कौन सी फ़ाइलें खोजना चाहते हैं।"
<http://www.shellarchive.co.uk/content/emacs.html>
पाठ पाठ एकीकरण
पेड्रो मेलो एक टेक्स्टमैट उपयोगकर्ता है जो लिखता है "मैं अपना अधिकांश दिन टेक्स्टमैट के अंदर बिताता हूं, और
बिल्ट-इन फाइंड-इन-प्रोजेक्ट बड़ी परियोजनाओं के साथ बेकार है। इसलिए मैंने एक TextMate कमांड को हैक कर लिया
एके का उपयोग करने के लिए फाइंड + ग्रेप का उपयोग कर रहा था। परिणाम एके और आपके साथ प्रोजेक्ट में खोज है
इसे यहां पा सकते हैं:
<http://www.simplicidade.org/notes/archives/2008/03/search_in_proje.html>"
खोल और वापसी कोड
के साथ अधिक अनुकूलता के लिए ग्रेप, ack सामान्य उपयोग में शेल रिटर्न या एग्जिट कोड लौटाता है
यदि कुछ पाया जाता है तो केवल 0 और यदि कोई मिलान नहीं मिलता है तो 1।
(शेल निकास कोड 1 "सिस्टम" या बैकटिक्स के साथ पर्ल में "$?=256" है।)
RSI ग्रेप त्रुटियों के लिए कोड 2 का उपयोग नहीं किया जाता है।
यदि "-f" या "-g" निर्दिष्ट हैं, तो कम से कम एक फ़ाइल मिलने पर 0 लौटाया जाता है। अगर कोई नहीं
फ़ाइलें मिल जाती हैं, फिर 1 लौटा दिया जाता है।
डिबगिंग एसीके समस्याओं
यदि ack आपको वह आउटपुट देता है जिसकी आप अपेक्षा नहीं कर रहे हैं, तो कुछ सरल चरणों से शुरुआत करें।
उपयोग --noenv
आपके पर्यावरण चर और .एकेआरसी हो सकता है कि आप ऐसे काम कर रहे हों जिनकी आप अपेक्षा नहीं कर रहे हों, या
आपके द्वारा निर्दिष्ट भूल गया. उपयोग --noenv अपने पर्यावरण को नजरअंदाज करना और .एकेआरसी.
उपयोग -f सेवा मेरे देखना क्या फ़ाइलों है किया गया चयनित
एके का -f मूल रूप से डिबगिंग टूल के रूप में जोड़ा गया था। यदि Ack आपसे मेल नहीं खा रहा है
सोचो इसे ढूंढना चाहिए, भागना चाहिए ack -f यह देखने के लिए कि कौन सी फ़ाइलें चुनी गई हैं। आप भी जोड़ सकते हैं
चयनित प्रत्येक फ़ाइल का प्रकार दिखाने के लिए "--शो-प्रकार" विकल्प।
उपयोग --गंदी जगह
यह लोड की गई एकेआरसी फाइलों और उनसे लोड किए गए विकल्पों को सूचीबद्ध करता है। अभीतक के लिए तो
उदाहरण के तौर पर आप उन निर्देशिकाओं की सूची पा सकते हैं जो खोजी नहीं जाती हैं या जहां फ़ाइल प्रकार हैं
परिभाषित।
टिप्स
उपयोग la .एकेआरसी फ़ाइल.
RSI .एकेआरसी यह आपके उन सभी विकल्पों को रखने का स्थान है जिनका आप अधिकांश समय उपयोग करते हैं लेकिन नहीं करना चाहते
याद करना। इसमें अपनी सभी --type-add और --type-set परिभाषाएँ डालें। यदि आप चाहते हैं
--स्मार्ट-केस, इसे भी वहां सेट करें। मैंने वहां --sort-files भी सेट किया है।
उपयोग -f एसटी काम कर रहे साथ में बड़ा कोडसेट
Ack फ़ाइलों को खोजने के अलावा और भी बहुत कुछ करता है। "ack -f --perl" सभी पर्ल फ़ाइलों की एक सूची बनाएगा
एक पेड़ में, भेजने के लिए आदर्श xargs। उदाहरण के लिए:
# एक ट्री में सभी पर्ल फ़ाइलों में सभी "यह" को "उस" में बदलें।
ack -f --perl | xargs perl -p -i -e's/this/that/g'
या यदि आप चाहें:
पर्ल -p -i -e's/this/that/g' $(ack -f --perl)
उपयोग -Q कब in संदेह के बारे में अक्षरों से परे
यदि आप रेगुलर एक्सप्रेशन मेटाकैरेक्टर के साथ कुछ खोज रहे हैं, तो अक्सर a
फ़ाइल नाम या आईपी पते में अवधि, सभी के बिना गलत सकारात्मकता से बचने के लिए -Q जोड़ें
पलटवार अधिक जानकारी के लिए निम्नलिखित उदाहरण देखें...
उपयोग ack सेवा मेरे घड़ी लॉग इन फ़ाइलों
यहां वह है जिसका उपयोग मैंने किसी वेबसाइट विज़िटर के लिए परेशानी वाले स्थान ढूंढने के लिए पिछले दिन किया था। उपयोगकर्ता के पास था
लोड करने में समस्या परेशानी भरा.gif, इसलिए मैंने एक्सेस लॉग लिया और उसे ack से दो बार स्कैन किया।
ack -Q aa.bb.cc.dd /path/to/access.log | ack -Q -B5 परेशान करने वाला.gif
पहला एके दिए गए आईपी के लिए अपाचे लॉग में केवल लाइनें ढूंढता है। दूसरा पाता है
मेरी समस्याग्रस्त GIF पर मिलान, और प्रत्येक में लॉग से पिछली पाँच पंक्तियाँ दिखाता है
मामले।
उदाहरण of --आउटपुट
विस्तार स्ट्रिंग में निम्नलिखित चर उपयोगी हैं:
$& पूरी स्ट्रिंग पैटर्न से मेल खाती है।
$1, $2, ...
पैटर्न में पहले, दूसरे ... कोष्ठक समूह की सामग्री।
"$`"
मैच से पहले की स्ट्रिंग.
"$'"
मैच के बाद स्ट्रिंग.
अधिक विवरण और अन्य चर के लिए देखें
<http://perldoc.perl.org/perlvar.html#वेरिएबल-संबंधित-से-नियमित-अभिव्यक्ति|perlvar>.
यह उदाहरण दिखाता है कि किसी विशेष पैटर्न के आसपास टेक्स्ट कैसे जोड़ा जाए (इस मामले में _ जोड़ना)
"ई" के साथ शब्द के चारों ओर)
ack2.pl "\w*e\w*" Quick.txt --output='$`_$&_$''
_तेज, भूरी लोमडी आलसी कुत्ते के उपर कूद गई
तेज, भूरी लोमडी आलसी कुत्ते के उपर कूद गई
तेज, भूरी लोमडी आलसी कुत्ते के उपर कूद गई
यह दिखाता है कि नियमित रूप से ( ) का उपयोग करके मैच के विशेष भागों को कैसे चुना जाए
अभिव्यक्ति।
ack '=head(\d+)\s+(.*)' --आउटपुट=' $1 : $2'
इनपुट फ़ाइल में "=head1 NAME" शामिल है
आउटपुट "1 : नाम"
साझा करें तुंहारे ज्ञान
एके-उपयोगकर्ता मेलिंग सूची में शामिल हों। मुझे अपने सुझाव भेजें और मैं उन्हें यहां जोड़ सकता हूं।
सामान्य प्रश्न
क्यों नहीं है ack खोज a मैच in (कुछ फ़ाइल)?
शायद इसलिए क्योंकि यह उस प्रकार का है जिसे ack पहचान नहीं पाता। ack का खोज व्यवहार है
फ़ाइल प्रकार द्वारा संचालित. If ack नहीं करता जानना क्या तरह of पट्टिका it है, ack ध्यान न दी la फ़ाइल.
उन फ़ाइलों की सूची देखने के लिए "-f" स्विच का उपयोग करें जिन्हें ack आपके लिए खोजेगा। आप इसका उपयोग कर सकते हैं
"--show-types" स्विच यह दिखाने के लिए कि प्रत्येक फ़ाइल किस प्रकार की है।
नहीं it be महान if ack किया यहाँ खोजें & प्रतिस्थापित करें?
नहीं, ack हमेशा केवल-पढ़ने के लिए ही रहेगा। पर्ल के पास खोजने और बदलने का बिल्कुल अच्छा तरीका है
फ़ाइलें, "-i", "-p" और "-n" स्विच का उपयोग करके।
आप निश्चित रूप से अद्यतन करने के लिए अपनी फ़ाइलों का चयन करने के लिए ack का उपयोग कर सकते हैं। उदाहरण के लिए, सब कुछ बदल देना
सभी PHP फ़ाइलों में "foo" से "bar", आप इसे यूनिक्स शेल से कर सकते हैं:
$ perl -i -p -e's/foo/bar/g' $(ack -f --php)
कर सकते हैं I बनाना ack पहचान .xyz फ़ाइलें?
हाँ! कृपया "अपने स्वयं के प्रकारों को परिभाषित करना" देखें। यदि आप सोचते हैं कि ack एक प्रकार को पहचानना चाहिए
डिफ़ॉल्ट रूप से, कृपया "एन्हांसमेंट" देखें।
वहाँ है पहले ही a प्रोग्राम/पैकेज बुलाया एके.
हाँ मुझे पता है।
क्यों is it बुलाया ack if यह है बुलाया एके-ग्रेप?
प्रोग्राम का नाम "ack" है। बनाते समय कुछ पैकेजर्स ने इसे "एके-ग्रेप" कहा है
पैकेज क्योंकि वहाँ पहले से ही "ack" नामक एक पैकेज मौजूद है जिसका कोई लेना-देना नहीं है
इस एके के साथ.
मेरा सुझाव है कि आप नाम का एक सिम्लिंक बनाएं ack जो इंगित करता है ack-grep क्योंकि महत्वपूर्ण में से एक
एके का लाभ यह है कि इसका नाम इतना छोटा और टाइप करने में आसान है।
ऐसा करने के लिए, इसे इसके साथ चलाएँ sudo या जड़ के रूप में:
ln -s /usr/bin/ack-grep /usr/bin/ack
वैकल्पिक रूप से, आप शेल उपनाम का उपयोग कर सकते हैं:
# बैश/ज़श
उपनाम ack=ack-grep
# सीएसएच
उर्फ एके एके-ग्रेप
क्या कर देता है ack क्या मतलब है?
कुछ नहीं। मैं एक ऐसा नाम चाहता था जिसे टाइप करना आसान हो और जिसका उच्चारण आप एक ही तरह से कर सकें
शब्दांश.
कर सकते हैं I do बहु लाइन रेगेक्स?
नहीं, ack एकाधिक पंक्तियों से मेल खाने वाले रेगेक्स का समर्थन नहीं करता है। ऐसा करने की आवश्यकता होगी
एक समय में पूरी फ़ाइल को पढ़ना।
यदि आप अपने मिलान के निकट रेखाएं देखना चाहते हैं, तो "--ए", "--बी" और "--सी" स्विच का उपयोग करें।
संदर्भ प्रदर्शित करना.
क्यों is ack कह रही me I है an अमान्य विकल्प कब खोज एसटी "+फू"?
ack "+" या "-" से शुरू होने वाले कमांड लाइन विकल्पों को विकल्प मानता है; यदि आप करना चाहते हैं
इन्हें खोजें, आप अपने खोज शब्द के पहले "--" लगा सकते हैं या "--मैच" विकल्प का उपयोग कर सकते हैं।
(हालांकि, यह मत भूलिए कि "+" एक रेगुलर एक्सप्रेशन मेटाकैरेक्टर है!)
क्यों कर देता है "एके '.{40000,}'' असफल? नहीं है कि a वैध रेगेक्स?
पर्ल भाषा पुनरावृत्ति क्वानिटिफायर को 32K तक सीमित करती है। आप ".{32767}" खोज सकते हैं
लेकिन ".{32768}" नहीं।
ACKRC LOCATION अर्थ विज्ञान
Ack अपने कॉन्फ़िगरेशन को कई स्रोतों से लोड कर सकता है। यह सूची एके स्रोतों को निर्दिष्ट करती है
कॉन्फ़िगरेशन की तलाश करता है; जो भी पाया जाता है उसे यहां निर्दिष्ट क्रम में लोड किया जाता है, और
प्रत्येक अपने पूर्ववर्ती स्रोतों में से किसी एक में सेट किए गए विकल्पों को ओवरराइड करता है। (उदाहरण के लिए, यदि मैं सेट करता हूं
मेरे उपयोगकर्ता ackrc में --sort-files, और कमांड लाइन पर --nosort-files, कमांड लाइन
प्रधानता मिलती है)
· डिफ़ॉल्ट App::Ack::ConfigDefaults से लोड किए जाते हैं। इसका उपयोग करके छोड़ा जा सकता है
"--अनदेखा-एके-डिफ़ॉल्ट्स"।
· वैश्विक ए.सी.आर.सी
फिर विकल्प वैश्विक एकेआरसी से लोड किए जाते हैं। यह "/etc/ackrc" पर स्थित है
यूनिक्स जैसी प्रणालियाँ।
Windows XP और इससे पहले के संस्करण के अंतर्गत, ackrc "C:\Documents and Settings\All" पर है
उपयोगकर्ता\एप्लिकेशन डेटा\ackrc"।
Windows Vista/7 के अंतर्गत, वैश्विक ackrc "C:\ProgramData" पर है
"--noenv" विकल्प सभी ackrc फ़ाइलों को लोड होने से रोकता है।
· उपयोगकर्ता acrc
फिर विकल्प उपयोगकर्ता के एकेआरसी से लोड किए जाते हैं। यह "$HOME/.ackrc" पर स्थित है
यूनिक्स जैसी प्रणालियाँ।
Windows XP और इससे पहले के संस्करण के अंतर्गत, उपयोगकर्ता का ackrc "C:\Documents and" पर है
सेटिंग्स\$USER\एप्लिकेशन डेटा\ackrc"।
Windows Vista/7 के अंतर्गत, उपयोगकर्ता का acrc चालू है .
यदि आप एक अलग उपयोगकर्ता-स्तरीय एकेआरसी लोड करना चाहते हैं, तो इसे $ACKRC के साथ निर्दिष्ट किया जा सकता है
वातावरण विविधता।
"--noenv" विकल्प सभी ackrc फ़ाइलों को लोड होने से रोकता है।
· प्रोजेक्ट ए.सी.आर.सी
फिर प्रोजेक्ट ackrc से विकल्प लोड किए जाते हैं। प्रोजेक्ट एकेआरसी पहला एकेआरसी है
".ackrc" या "_ackrc" नाम वाली फ़ाइल, पहले वर्तमान निर्देशिका में खोजें,
फिर मूल निर्देशिका, फिर दादा-दादी निर्देशिका, आदि। इसे छोड़ा जा सकता है
"--noenv" का उपयोग करना।
· --एकेआरसी
एक एकेआरसी फ़ाइल को निर्दिष्ट करने के लिए कमांड लाइन पर "--एकेआरसी" विकल्प शामिल किया जा सकता है
अन्य सभी को ओवरराइड कर सकता है. "--noenv" मौजूद होने पर भी इसकी सलाह ली जाती है।
· एसीके_विकल्प
फिर पर्यावरण चर "ACK_OPTIONS" से विकल्प लोड किए जाते हैं। यह हो सकता है
"--noenv" का उपयोग करके छोड़ा गया।
· कमांड लाइन
फिर कमांड लाइन से विकल्प लोड किए जाते हैं।
मतभेद बीच एसीके 1.X और एसीके 2.X
एके 2 के लिए बहुत सारे परिवर्तन किये गये; यहां उनकी एक सूची है.
सामान्य परिवर्तन
· जब कोई चयनकर्ता निर्दिष्ट नहीं किया जाता है, तो ack 1.x केवल उन फ़ाइलों को खोजता है जिन्हें वह मैप कर सकता है
एक फ़ाइल प्रकार के लिए. इसके विपरीत, ack 2.x, प्रत्येक नियमित, गैर-बाइनरी के माध्यम से खोज करेगा
वह फ़ाइल जिसे स्पष्ट रूप से अनदेखा नहीं किया गया है --अनदेखा-फ़ाइल or --अनदेखा-dir। ये है
के व्यवहार के समान -ए/--सभी Ack 1.x में विकल्प।
· एक अधिक लचीला फ़िल्टर सिस्टम जोड़ा गया है, ताकि फ़ाइल प्रकार अधिक शक्तिशाली हो सकें
उपयोगकर्ता द्वारा बनाया गया. विवरण के लिए, कृपया "अपने स्वयं के प्रकारों को परिभाषित करना" से परामर्श लें।
· ack अब एकाधिक ackrc फ़ाइलें लोड करता है; विवरण के लिए "ACKRC स्थान शब्दार्थ" देखें।
· ack की डिफ़ॉल्ट फ़िल्टर परिभाषाएँ विशेष नहीं हैं; आप पूरी तरह से एक्क को बता सकते हैं
यदि आप उन्हें पसंद नहीं करते हैं तो उन्हें अनदेखा करें।
हटा दिया विकल्प
· डिफ़ॉल्ट खोज व्यवहार में परिवर्तन के कारण, -ए/--सभी और -u/--अप्रतिबंधित
विकल्प हटा दिए गए हैं. इसके साथ में -k/--ज्ञात-प्रकार विकल्प जोड़ा गया
ack को ack 1.x के डिफ़ॉल्ट खोज व्यवहार के साथ व्यवहार करने के लिए प्रेरित करें।
· -G विकल्प हटा दिया गया है. कमांड लाइन पर दो रेगुलर एक्सप्रेशन थे
बहुत भ्रमित करने वाला माना जाता है; अनुकरण करने के लिए -Gकी कार्यक्षमता, आप नए का उपयोग कर सकते हैं -x
फ़ाइल नामों को एके के एक आह्वान से दूसरे में पाइप करने का विकल्प।
· --बाइनरी विकल्प को हटा दिया गया है।
· --छोड़ दिया गया विकल्प को हटा दिया गया है।
· --पाठ विकल्प को हटा दिया गया है।
· --इनवर्ट-फ़ाइल-मिलान विकल्प हटा दिया गया है. इसके बजाय, आप उपयोग कर सकते हैं -v साथ में -g.
बदल गया विकल्प
· विकल्प जो रेगुलर एक्सप्रेशन के व्यवहार को संशोधित करते हैं (-i, -w, -Q, तथा -v) मई अब
के साथ प्रयोग किया जाए -g.
जोड़ा विकल्प
· --फ़ाइलें-से जोड़ा गया ताकि उपयोगकर्ता फ़ाइल नामों की एक सूची एक सूची के रूप में सबमिट कर सके
खोजने के लिए फ़ाइलें.
· -x मानक इनपुट के माध्यम से फ़ाइल नामों की सूची स्वीकार करने के लिए एके को बताने के लिए जोड़ा गया था; यह सूची
यह उन फ़ाइल नामों की सूची है जिनका उपयोग खोज के लिए किया जाएगा।
· -s गैर-मौजूद या अपठनीय के बारे में त्रुटि संदेशों को दबाने के लिए एके को बताने के लिए जोड़ा गया था
फाइलें.
· --अनदेखा-निर्देशिका और --noignore-निर्देशिका के उपनाम के रूप में जोड़े गए थे --अनदेखा-dir और
--noignore-dir क्रमशः.
· --अनदेखा-फ़ाइल जोड़ा गया ताकि उपयोगकर्ता अनदेखा करने के लिए फ़ाइलों के पैटर्न निर्दिष्ट कर सकें (उदा.
/.*~$/).
· --गंदी जगह उपयोगकर्ताओं को आसानी से पता लगाने की अनुमति देने के लिए जोड़ा गया था कि कौन से विकल्प कहाँ सेट हैं।
· --create-ackrc जोड़ा गया ताकि उपयोगकर्ता इसके आधार पर कस्टम एकेआरसी फ़ाइलें बना सकें
डिफ़ॉल्ट सेटिंग्स एके द्वारा लोड की गई हैं, और ताकि उपयोगकर्ता उन डिफ़ॉल्ट को आसानी से देख सकें।
· --टाइप-डेल फ़ाइल प्रकार परिभाषाओं को चुनिंदा रूप से हटाने के लिए जोड़ा गया था।
· --अनदेखा-एके-डिफ़ॉल्ट्स जोड़ा गया था ताकि उपयोगकर्ता एके के डिफ़ॉल्ट विकल्पों को अनदेखा कर सकें
अपनों का एहसान.
· --छड़ जोड़ा गया था ताकि एके उपयोगकर्ता एडमिरल अकबर से परामर्श कर सकें।
onworks.net सेवाओं का उपयोग करके ऑनलाइन ack-grepp का उपयोग करें