मैं अपनी ls -l
कमांड का आउटपुट प्राप्त करना चाहता हूं :
-rw-r--r-- 1 root root 1866 Feb 14 07:47 rahmu.file
-rw-r--r-- 1 rahmu user 95653 Feb 14 07:47 foo.file
-rw-r--r-- 1 rahmu user 1073822 Feb 14 21:01 bar.file
मैं grep rahmu
कॉलम $ 3 पर ही चलना चाहता हूं , इसलिए मेरी grep
कमांड का आउटपुट इस तरह दिखना चाहिए:
-rw-r--r-- 1 rahmu user 95653 Feb 14 07:47 foo.file
-rw-r--r-- 1 rahmu user 1073822 Feb 14 21:01 bar.file
इसे करने का सबसे सरल तरीका क्या है? उत्तर कई यूनियनों में पोर्टेबल होना चाहिए, अधिमानतः लिनक्स और सोलारिस पर ध्यान केंद्रित करना।
NB: मैं किसी दिए गए उपयोगकर्ता से संबंधित सभी फ़ाइलों को खोजने के लिए एक रास्ता नहीं ढूंढ रहा हूं। यह उदाहरण केवल मेरे प्रश्न को स्पष्ट करने के लिए दिया गया था।
--printf
विकल्प उन stat
जगहों पर काम में आ सकता है जहाँ आप अन्यथा विचार कर सकते हैं ls
। लेकिन आमतौर पर, find
आप क्या चाहते हैं (जैसा कि @Gilles उल्लेख किया गया है)।
ls
स्वाभाविक रूप से नाजुक है (सोचें कि क्या होगा यदि किसी उपयोगकर्ता के नाम में व्हॉट्सएप है - और हां, कुछ प्लेटफार्मों पर ऐसा होता है)।find
इसके बजाय उपयोग करें ।