दोनों नियमित फाइल और निर्देशिका खोजें


9

मैं कैसे बता सकता हूं (यदि मैं बता सकता हूं!) निर्देशिका और फ़ाइल प्रकार दोनों की फ़ाइलों को खोजने के लिए?

find -type fd

यह यहाँ के अंधकारमय युग की तरह है।

जवाबों:


12

यहां वह कमांड है जिसका आप उपयोग कर सकते हैं:

find -type f -or -type d

7
या find -type f -o -type dPOSIX आज्ञाकारी विकल्प के लिए।
मैनावर्क

जब मैं $ खोज चलाता हूं तो मैं इसके साथ थोड़ी परेशानी में था। -Type d -or -type f -and -iname "vision" में यह बिल्कुल वैसा नहीं करता है जैसा मैं उम्मीद करता हूं, क्या मैं कुछ और याद कर रहा हूं!
जेम्स

2
-ए में पूर्वता है -o, कोष्ठक का उपयोग करें (लेकिन शेल के लिए उन्हें छोड़ दें)। गैर-मानक -or या -और का उपयोग करने की आवश्यकता नहीं है।
स्टीफन चेज़लस 16

अगर मैं `खोजने की कोशिश। -Type d या -type f -name 'abc' . I get an error.. ढूंढें: पथों की पूर्ववर्ती अभिव्यक्ति होनी चाहिए: `.. कोई विचार क्यों?
अल्फा_989

1
-पहले @ अल्फा_989 गायब or?
Mateusz Piotrowski

2

tl: डॉ

उपयोग find . -name "*string*" -type f -o -name "*string*" -type d

व्याख्या

-o कमांड orपूरी तरह से फ़ाइलपथ के बाद तर्क देता है, जैसे कि find . -name "*string*" -type f -o -type dगणना करता है find . (-name "*string*" -type f) -o (-type d)। इस कारण से, आपको निर्दिष्ट करना होगा

अधिकांश उपयोगकर्ता कुछ ऐसा चाहते हैं जो दिखता है

find . -name  "*string*" -type f -o -name "*string*" -type d

जो गणना करता है

find . (-name  "*string*" -type f) -o (-name "*string*" -type d)

वाक्यविन्यास विवरण प्राप्त करें

-name "*string*"उन नामों की खोज की जाती है जिनमें stringउनमें कहीं भी तार होते हैं।


1

यदि आप GNU खोज का उपयोग कर रहे हैं, तो निम्न समाधान आपके अनुरूप हो सकता है:

find -type d,f

man findअधिक जानकारी के लिए देखें:

एक बार में एक से अधिक प्रकार की खोज करने के लिए, आप अल्पविराम ,(GNU एक्सटेंशन) द्वारा अलग प्रकार के अक्षरों की संयुक्त सूची की आपूर्ति कर सकते हैं ।


2
GNU findसंस्करण 4.7.0 का उपयोग करना .. यह समर्थन नहीं करता है ,। त्रुटि संदेश कहता है किfind: Arguments to -type should contain only one letter.
Alpha_989
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.