पथ के बिना निष्पादन योग्य फ़ाइल नाम ढूंढें


9

मेरे पास कई निष्पादन योग्य के साथ एक फ़ोल्डर है, और मैं खोज कमांड के परिणामों में पथ को छोड़ना चाहता हूं। यह कमांड उन फ़ाइलों को दिखाता है जिन्हें मैं देखना चाहता हूं, लेकिन यह पथ को भी सूचीबद्ध करता है; मुझे सिर्फ फ़ाइल नाम चाहिए।

find /opt/g09 -maxdepth 1 -executable

मैं केवल फ़ाइल नाम दिखाने के लिए खोज का आउटपुट कैसे प्राप्त कर सकता हूं, और पूर्ण पथ नहीं?

जवाबों:


10

या उपयोग करें:

find /opt/g09 -maxdepth 1 -executable -printf "%f\n"

-type fझंडा जोड़ने से भी यहां काम होता है।

से findमैनुअल:

 %f     File's name with any leading directories removed (only the last element).

इस उत्तर के लिए केवल यह आवश्यक है कि आपके पास GNU हो findजबकि अन्य को आपके परिणामों में हेरफेर करने के लिए अन्य कार्यक्रमों की आवश्यकता हो।


मुझे लगता है कि मैं क्या सोचने की कोशिश कर रहा था! शुक्रिया कोडिंग यार!
jhh

@ j0h कोई समस्या नहीं है!
निक्सपॉवर

6

उपयोग करें basename:

find /opt/g09 -maxdepth 1 -executable -exec basename {} \;

से man basename:

Print NAME with any leading directory components removed.

इसके अलावा, आप findअपनी खोज को केवल फाइलों तक सीमित रखने के लिए, उपयोग करने के लिए हर चीज की कोशिश कर रहे हैं:

find /opt/g09 -type f -maxdepth 1 -executable -exec basename {} \;

3

मेरे लिए सबसे स्पष्ट समाधान है

(cd /opt/g09; find -maxdepth 1 -executable)

क्योंकि आप उसी निर्देशिका में बने रहने के लिए एक सबमिशन शुरू करते हैं। इस पद्धति का लाभ यह है कि आपको पार्सिंग की आवश्यकता नहीं है। नुकसान यह है कि आप एक उपधारा शुरू करते हैं (आप ऐसा महसूस नहीं करने जा रहे हैं)।


1
यह एक चतुर विचार है।
एबी

1

awkसीमांकक द्वारा पथ को विभाजित करने के साथ , /अंतिम खंड ( $NF) मुद्रित करें :

find /opt/g09 -maxdepth 1 -executable | awk -F/ '{print $NF}'

आपका अजगर संस्करण भाई कहाँ है? ;)
सर्जियो कोलोडियाज़नी

@ शेर हाहा, मुझे अपनी उँगलियाँ
बाँधनी पड़ीं

1

का एक संयोजन का उपयोग करना findऔरperl

find /opt/g09 -maxdepth 1 -type f -executable | perl -pe 's/.+\/(.*)$/\1/'

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