आप शेल में विशिष्ट कॉलम ला सकते हैं जैसे:
ls -al | while read perm bsize user group size month day time file; do echo $day; done
या awk
जैसा कि @ उत्तर में दिखाया गया है , cut -c44-45
समायोजन के बाद भी काम करेगा (क्योंकि ls
निश्चित कॉलम है), या जो भी हो, लेकिन मुख्य समस्या यह है कि यह विश्वसनीय और बुलेटप्रूफ नहीं होगा (जैसे यूनिक्स पर यह हो सकता है $6
, नहीं $7
, और यह तर्कों के आधार पर परिवर्तन) इसे मशीन के अनुकूल नहीं बनाता है इसलिए इसे ls
कमांड को पार्स करने की अनुशंसा नहीं की जाती है ।
सबसे अच्छा है विभिन्न उपलब्ध कमांड का उपयोग करना जैसे कि find
या stat
, जो आउटपुट को स्वरूपित करने के लिए प्रासंगिक विकल्प प्रदान कर सकता है जैसे आपको चाहिए। उदाहरण के लिए:
$ stat -c "%x %n" *
2016-04-10 04:53:07.000000000 +0100 001.txt
2016-04-10 05:08:42.000000000 +0100 7c1c.txt
संशोधनों के केवल दिनों के कॉलम को वापस करने के लिए, इस उदाहरण का प्रयास करें:
stat -c "%x" * | while read ymd; do date --date="$ymd" "+%d"; done
यह ध्यान देने योग्य है कि GNU में stat
BSD के लिए अलग-अलग विकल्प हो सकते हैं stat
, इसलिए यह अभी भी विभिन्न ऑपरेटिंग सिस्टम में बुलेटप्रूफ नहीं होगा।
ls
।find
आदेश काफी उपयोगी है।