जब आप ack के लिए कोई फ़ाइल नाम नहीं देते हैं, तो यह उन फ़ाइलों के अंतर्निहित डिफ़ॉल्ट सेट पर संचालित होता है, जो बिना पहचानी बाइनरी फ़ाइलों को शामिल करता है। यदि आप फ़ाइल नाम पास करते हैं, तो यह आपके द्वारा पास की गई सभी फ़ाइलों में खोज करता है। यह ack foo
और के बीच का अंतर बताता है ack foo **
।
एक १
1.x सेकंड में, ध्वज का उपयोग करें -a
को बताने के का वह फाइलों को न छोड़ें जिनके प्रकार को वह नहीं पहचानता।
अगर आपको लगता है कि झंडा अधिक बार नहीं की तुलना में चाहते हैं तो आप एक उपनाम बना सकते हैं: लाइन जोड़ने alias ack='ack -a'
में अपने ~/.bashrc
या ~/.zshrc
। यदि आप इस उपनाम को सेट करते हैं और ack
विकल्प के बिना कॉल करना चाहते हैं , तो कॉल करें \ack
(बैकस्लैश अन्य उपनाम को अक्षम करता है)। अलिंद से प्रभावित नहीं होते हैं, केवल इंटरैक्टिव गोले।
वैकल्पिक रूप से, आप -a
अपने लिए विकल्प जोड़ सकते हैं~/.ackrc
।
बाइनरी फ़ाइलों में मेल "बाइनरी फ़ाइल टेस्ट 1 मैचों" के रूप में सूचीबद्ध किया जाएगा। Ack को संशोधित किए बिना (कम से कम प्लगइन जोड़ने) इस व्यवहार को अक्षम करने का कोई तरीका नहीं है।
एकेक २
Ack 2.0 में, -a
विकल्प को हटा दिया गया है। इसके बजाय आप जो कर सकते हैं वह एक प्रकार को परिभाषित करने के लिए है जो सभी फ़ाइलों से मेल खाता है, और -k
विकल्प बनाने के लिए ack बनाने के लिए उस प्रकार की सभी फ़ाइलों को शामिल करें। ध्यान दें कि फ़ाइल प्रकारों को एक अप्रत्याशित क्रम में संसाधित किया जाता है, इससे बाइनरी प्रकारों का एक यादृच्छिक सेट सामान्य प्रकार के बजाय साधारण के रूप में संसाधित किया जाएगा।
ack --type-set='all:match:.*' -k foo
इस तरह मैच उन फाइलों के लिए भी प्रिंट किए जाते हैं जो अन्यथा बाइनरी दिखेंगी। ऊपर के रूप में, आप इन विकल्पों को एक उपनाम या अपने में जोड़ सकते हैं .ackrc
।