ls वह सब कुछ जो _not_ एक सहृदय है


12

क्या ls"सभी फाइलें जो एक सिमलिंक नहीं हैं" जैसी नकारात्मक परिस्थितियों को दिखाने का एक तरीका है ? मैं एक परियोजना निर्देशिका में उत्तरार्द्ध का बहुत उपयोग करता हूं, लेकिन अन्य नकारात्मक भी उपयोगी होंगे।

अभी के लिए, मेरे शोध में केवल "जैसे" किसी चीज के लिए एक उपनाम बनाने का नेतृत्व किया गया है:

find . -maxdepth 1 ! -type l | sort # (...)

लेकिन जाहिर है इस तरह से मैं रंग ls, कॉलम स्वरूपण, आदि नहीं मिलता ...

मैं ओएस एक्स 10.8.2 पर बैश v3 और पैंगोलिन पर बैश v4 कभी-कभी हूं।

जवाबों:


14

इसे पाइप करने के बजाय sort, एलएस का उपयोग करें।

find . -maxdepth 1 \! -type l -exec ls -d {} +

find . -maxdepth 1 \! -type l | xargs ls -d

यदि आपने zsh शेल का उपयोग किया है तो आप उनके गैर-पोर्टेबल ग्लोब एक्सटेंशन का उपयोग कर सकते हैं:

ls -d *(^@)

Thx 4 जवाब! तुम क्यों भागते हो ?! ऐसा लगता है कि इसके बिना भी काम किया जा रहा है .. क्या मैं इसे बचकर नहीं निकल रहा हूं? दिलचस्प है कि आप एक अंतिम का उपयोग कैसे करते हैं +और नहीं \;, कृपया समझाएं?
Robottinosino

2
@Robottinosino +इसे lsप्रत्येक फ़ाइल के लिए अलग-अलग चलाने के बजाय सभी को एक ही आदेश पर भेजता है (इस तरह से एल एस कॉलम और छंटाई कर सकता है)। मैं बच गया! क्योंकि यह कुछ गोले के लिए एक विशेष चरित्र है, भले ही आपका लगता है कि यह ठीक है।
रैंडम 832

पकड़ लिया। उत्तम सामग्री! क्या आप इस बात से सहमत हैं कि यह थोड़ा सा श्रमसाध्य है, बस एक साधारण में एक विधेय को नकारना है ls? क्या कोई बेहतर तरीका हो सकता है?
रॉबटीनोसिनो

1
@Robottinosino कुछ zsh के साथ संपादित कर सकते हैं। मुझे नहीं लगता कि बैश हालांकि यह कर सकता है।
यादृच्छिक 832
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.