लिनक्स सबफ़ोल्डर्स के अंदर फ़ोल्डर ढूंढता है


19

मैं 480debugerrorबाल निर्देशिका के तहत नेस्टेड नाम की एक निर्देशिका खोजने की कोशिश कर रहा हूं । मुझे सटीक रास्ता नहीं पता है, या यहां तक ​​कि अगर मेरे पास उस निर्देशिका की सटीक वर्तनी है, जिसे मैं खोजना चाहता हूं।

क्या किसी दिए गए उपसर्ग या प्रत्यय के साथ निर्देशिकाओं को खोजने के लिए लिनक्स कमांड है, उदाहरण के लिए "डीबग" या "डिबग एरर" के नाम के साथ निर्देशिका, कुछ उपसर्ग या प्रत्यय के साथ जो अज्ञात है?


2
आप कोशिश कर सकते हैं locate(फ़ाइलों का findपता लगाता है) या (फ़ाइलों को ढूँढता है)।
मीकू

find -type f -name * ummy ... लेकिन नहीं मिलता

3
आप की जरूरत है -पाइप डीfफ़ाइलों की खोज
thkala

जवाबों:


16

find आपको क्या चाहिए:

$ find -type d -name '*debugerror*'

या

$ find -type d -name '480debugerror'

यदि आप फ़ोल्डर के नाम के बारे में निश्चित हैं।



1
locate -i "480debugerror"

एक डेटाबेस की जाँच करेगा जो आपके पीसी पर अनुक्रमित सभी फाइलों को सूचीबद्ध करता है। मेरे पास अक्सर इस तरह के परिदृश्य होते हैं और इसलिए मैं इस तरह की खोज करता हूं:

locate -i "debug" | grep -i "log"

जो अपने रास्ते में सभी फ़ाइलों को ढूँढता है (मामले की परवाह किए बिना [वह -आई का मतलब है]) "डीबग" और "लॉग" (यदि आपको पता नहीं है, तो) | grep तो परिणाम उत्पन्न होने वाले परिणामों के भीतर खोज करते हैं)

फ़ाइंड ओवर खोजने का उपयोग करने का लाभ यह है कि पता लगाने से आउटपुट बहुत तेज़ी से उत्पन्न होगा (क्योंकि यह केवल डेटाबेस की जाँच कर रहा है) लेकिन यदि फ़ाइल / फ़ोल्डर को अनुक्रमित नहीं किया जाता है, तो यह कुछ भी नहीं खोजेगा। (डेटाबेस आप उपयोग कर सकते हैं अद्यतन करने के लिए sudo updatedb)


अगर आपने slocateस्थापित किया है तभी । कुछ उत्पादन वातावरण नहीं है :-(
Zsolt Botykai

सच है, लेकिन अगर एक विकल्प मैं कहूंगा कि यह खोजने के लिए बेहतर है ...

1

बैश में,

shopt -s nullglob globstar
echo **/*480*/
echo **/*debug*/
echo **/*error*/

480, डीबग या त्रुटि वाले नामों के लिए निर्देशिकाओं के लिए पुनरावर्ती खोज करता है।

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