5
मैं अपने पहले grep कथन के साथ मिली फ़ाइलों को लेने में सक्षम होना चाहता हूं, उदाहरण के लिए: grep -r मेकफ़ाइल * और उसके बाद grep के उस पास में मिली फ़ाइलों को दूसरी grep पर मिली उदाहरण के लिए: grep {files} '-lfoo'मैं परिणामस्वरूप फ़ाइलों को एक grep pass से दूसरे में कैसे पास करूं ताकि मैं केवल दूसरे पास के साथ सबसेट के माध्यम से grep?
मैं यह कैसे कर सकता हूं? मुझे पता है कि एक रास्ता होना चाहिए।
धन्यवाद।
मैं अनुशंसा करता हूं: 'grep -l firstmatch | xargs grep - secondmatch'। इससे grep को जितनी बार संभव हो उतनी बार बुलाया जा सकता है। इसके अलावा '-I {}' (या अब बहिष्कृत -i) के बिना ब्रेसिज़ का व्याख्या नहीं किया जाएगा। साथ ही, आपका आदेश grep को पहले grep आमंत्रण द्वारा प्राप्त प्रत्येक फ़ाइल के लिए चलाने का कारण बनता है और '{}' (या आपके grep संस्करण के आधार पर इसकी प्रतिस्थापन) के लिए grep होगा। –
xargs से आपका क्या मतलब है? – NSA
@NSA: 'xargs' एक कमांड है। यह तर्कों (आमतौर पर फ़ाइल नाम) की सूची के लिए अपने मानक इनपुट को पढ़ता है, और उसके बाद कमांड के तर्क (इस मामले में 'grep {} secondmatch'' निष्पादित आदेशों को बनाने के लिए उन्हें समेकित करता है। अधिक जानकारी के लिए, आरटीएफएम –