मैं स्वामी और समूह द्वारा एलएस कैसे छांट सकता हूं?


9

मैं ls के साथ निर्देशिकाओं को कैसे सूचीबद्ध कर सकता हूं और उनके स्वामी और समूह द्वारा उन्हें सॉर्ट कर सकता हूं?

जवाबों:


8

इसे इस्तेमाल करे:

ls -l | awk '{print $3, $4, $8}' | sort

यह उपयोगकर्ता नाम, समूह नाम और फ़ाइल नाम को प्रिंट करेगा, बशर्ते कि फ़ाइल नाम में स्थान न हो। वैकल्पिक रूप से, आप टाइप कर सकते हैं:

ls -l | awk '{print $3, $4, $0}' | sort

यह उपयोगकर्ता नाम, समूह नाम और पूर्ण ls -lआउटपुट को प्रिंट करेगा, पहले उपयोगकर्ता नाम, फिर समूह नाम, फिर जो भी ls -lप्रिंट करता है , उसके आधार पर ।

ध्यान दें कि आपके वितरण के आधार पर, वास्तविक कॉलम संख्या भिन्न हो सकती है। मैंने SUSE और कोरुटिल्स संस्करण 5.2.1 में मेरा प्रयास किया।

संभवतः बेहतर, अधिक विस्तृत समाधान हैं, लेकिन यह सबसे सरल है, और अधिकांश समय काम करेगा।



7

जैसा कि पीटरसन ने कहा, कुछ इसी तरह:

  • ls -l | awk '{print $3, $4, $8, $0}' | sort | column -t
    जोड़ा $8और column -tसुंदर प्रिंट के लिए

या इससे भी बेहतर:

  • ls -l | sort -k 3 - स्वामी द्वारा सॉर्ट करें और डिफ़ॉल्ट रूप से अगला फ़ील्ड (समूह) और पर
  • ls -l | sort -k 4,4 -k 3 - समूह के आधार पर और उसके बाद मालिक द्वारा
  • ls -l | sort -k 3,3 -k 8 - मालिक द्वारा सॉर्ट और फिर फ़ाइल नाम से

नोट: अल्पविराम टर्मिनेटर फ़ील्ड है इसलिए फ़ील्ड 3 से 5 तक फ़ील्ड 3 प्रकार से 3,3शुरू और समाप्त होता है 3,5


समूह द्वारा और फिर मालिक द्वारा छांटने के लिए मुझे-बी को प्रमुख रिक्त स्थान की अनदेखी करनी पड़ी, अन्यथा सूची को स्वामी नाम की स्ट्रिंग लंबाई द्वारा क्रमबद्ध किया जाएगा।
स्टीफन श्मिट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.