FreeBSD 9: एक सटीक फ़ाइल नाम का पता कैसे लगाएं?


10

locateदिए गए पैटर्न के लिए एक सटीक मिलान खोजने के लिए कमांड का उपयोग करने की कोशिश कर रहा है । हालाँकि यह सभी मेल खाने वाली फाइलों को दिखाता है।

उदाहरण के लिए: मैं एक बाइनरी नाम खोजना चाहता हूं: नोड

लेकिन यह मुझे इस शब्द से मेल खाता है:

server2# locate node
/usr/share/man/man9/getnewvnode.9.gz
/usr/share/man/man9/ieee80211_amrr_node_init.9.gz
/usr/share/man/man9/ieee80211_dump_node.9.gz
/usr/share/man/man9/ieee80211_dump_nodes.9.gz
/usr/share/man/man9/ieee80211_find_rxnode.9.gz
/usr/share/man/man9/ieee80211_find_rxnode_withkey.9.gz
/usr/share/man/man9/ieee80211_free_node.9.gz

जवाबों:


10

यदि आप देखते हैं locate --help, तो आप पा सकते हैं:

  -r, --regexp REGEXP    search for basic regexp REGEXP instead of patterns
      --regex            patterns are extended regexps

आप -rएक regexp पैटर्न प्रदान करने के लिए उपयोग कर सकते हैं locate:

locate -r /node$

/सुनिश्चित nodeफ़ाइल नाम के शुरू में है। $सुनिश्चित nodeफ़ाइल नाम के अंत में है। यह आपको केवल सटीक फ़ाइल नाम से मेल खाने वाली फ़ाइलें देगा।

यदि आप एक केस-संवेदी खोज करना चाहते हैं (मैचों Node, NODE, nOdE, आदि), जोड़ने -i:

locate -i -r /node$

यदि पता रेपेक्स का समर्थन नहीं करता है, तो आप grep का उपयोग कर सकते हैं (Iracicot द्वारा उल्लिखित):

locate node | grep /node$
locate -i node | grep -i /node$

वैकल्पिक रूप से, आप -bकेवल locate -br node$
बेसन के

6

आप ट्रेस के साथ grep का उपयोग कर सकते हैं

server2# locate node | grep node$

$ संकेत स्ट्रिंग के अंत में देखने के लिए grep बताएगा।


1
रिजल्ट वही है। यह नोड ... / usr / पोर्ट्स / www / p5-WebService-Linode के साथ समाप्त होने वाले विभिन्न मैचों को लाता है। मुझे लगता है कि यह $ / नोड होना चाहिए?
एलेक्स जी।

हाँ आप यह भी कोशिश कर सकते हैं (लेकिन मुझे यकीन नहीं है कि / चरित्र को बच जाना चाहिए या नहीं)। क्या आपने ट्रेस-बी की कोशिश की है?
lracicot

0

locateसभी निर्देशिकाओं से मेल खाने वाले अपने स्वयं के ग्लोब को जोड़कर ग्लोब को अक्षम करें :

locate */node

मैन पेज से:

यदि किसी PATTERNमें कोई ग्लोबबिंग वर्ण नहीं है, तो व्यवहार का पता लगाएं जैसे कि पैटर्न था*PATTERN*

यह सिंटैक्स रूट में कहीं भी, एक पूर्ण फ़ाइल या निर्देशिका नाम से मेल खाएगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.