मैं अपनी 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इसके बजाय उपयोग करें ।