2009-08-19 13 views
23

निर्देशिका नहीं कर रहे हैं मैं निर्देशिका के लिए खुद को छोड़कर एक निर्देशिका में सभी फ़ाइलों की सूची के लिए एक रास्ता खोज रहा है, और फ़ाइलों का पता लगाएं।उन उप-निर्देशिका में एक निर्देशिका में सभी फ़ाइलों कि खुद

तो अगर मेरे पास है:

./test.log 
./test2.log 
./directory 
./directory/file2 

मैं एक आदेश है कि रिटर्न चाहते हैं: ./test.log ./test2.log और कुछ नहीं।

उत्तर

42

आप test.log, test2.log, और file2 तो चाहते हैं:

find . -type f 

आप file2 तो नहीं करना चाहते हैं:

find . -maxdepth 1 -type f 
0
find . -type f 
+0

आप ठीक कह रहे हैं, प्रश्न पढ़ने में भूलना। जॉन Kugelman एक और अधिक पूरा उत्तर पोस्ट। – amrox

3

खोज का उपयोग कर सरल है के रूप में:

find . -maxdepth 1 -type f 
0
find /some/directory -type f 
+0

गलत, इस पुनरावर्ती है (करें 2 कोई शामिल किया जाना चाहिए) – dfa

0
$ find . -type f -print 

प्रत्येक फ़ाइल अपनी लाइन पर होगी। आप निर्देशिका आप खोज करना चाहते में होना चाहिए।

+0

गलत, इस पुनरावर्ती है (करें 2 कोई शामिल किया जाना चाहिए) – dfa

-1

एक और विकल्प

ls -ltr | grep ^d 
5

आप सिमलिंक, पाइप, उपकरण फ़ाइलें और फाइल सिस्टम के अन्य विशिष्ट तत्वों की जरूरत है भी सूचीबद्ध होने के लिए, आप का उपयोग करना चाहिए:

find -maxdepth 1 -not -type d 

यह सब कुछ सूची जाएगा निर्देशिका को छोड़कर।

संबंधित मुद्दे

 संबंधित मुद्दे