find . -type f -print
यूनिक्स "खोज" में अग्रणी "./" को कैसे पट्टी करें?
./file1
./file2
./file3
प्रिंट करता है इसे प्रिंट करने के लिए कोई तरीका
file1
file2
file3
?
find . -type f -print
यूनिक्स "खोज" में अग्रणी "./" को कैसे पट्टी करें?
./file1
./file2
./file3
प्रिंट करता है इसे प्रिंट करने के लिए कोई तरीका
file1
file2
file3
?
वे केवल वर्तमान निर्देशिका
find * -type f -print
में हैं कि तुम क्या चाहते है?
उपयोग sed
find . | sed "s|^\./||"
यह मेरा पसंदीदा समाधान है; यह POSIX- संगत है (व्यावहारिक रूप से हर जगह काम करता है, यहां तक कि एम्बेडेड सिस्टम), बहुत कम, और अप्रत्याशित व्यवहार के परिणामस्वरूप असंभव है। यह स्वीकार्य उत्तर होना चाहिए। –
इसे 'find -exec' के साथ कैसे जोड़ा जाएगा? – PaulrBear
'find -exec sh -c "echo {} | sed's s^^ .; ||' \" ' या 'find -exec sh -c" sed's s^^ ./ | | ' <<< '{}' "\;' – xenithorb
इसे कम किया जा सकता है
find * -type f
रिक्त निर्देशिका में आदेश चलाए जाने पर त्रुटि रिपोर्ट को अनदेखा करने के लिए '2>/dev/null' के साथ बेहतर। – neevek
वर्तमान निर्देशिका के तहत केवल नियमित रूप से फ़ाइलें खोजें, और बिना "./" उपसर्ग उन्हें प्रिंट:
find -type f -printf '%P\n'
से आदमी ढूंढें, -प्रिंट प्रारूप का विवरण:
% पी फ़ाइल का नाम कमांड लाइन तर्क के नाम से जिसके अंतर्गत इसे हटाया गया था।
+1 अच्छा समाधान यदि 'find' का आपका संस्करण' -printf' का समर्थन करता है (सभी नहीं)। –
जैसा कि टोड ने कहा, लेकिन अधिक सटीक: यह पॉज़िक्स 7 नहीं है। –
समर्थित या नहीं, यह स्वीकार्य उत्तर से निश्चित रूप से सुरक्षित है। –
मुझे पता था कि यह sed के साथ किया जा सकता है, लेकिन यह एक बेहतर समाधान है। धन्यवाद! – breadjesus
अच्छा, कभी भी –
के बारे में सोचा नहीं, यह उन नामों वाली फाइलों को याद करेगा जो एक अवधि के साथ शुरू होते हैं। – Sean