मैं एक bash कमांड ढूंढना चाहता हूं जो मुझे हर फाइल को एक डायरेक्टरी में grep करने देगा और उस grep के आउटपुट को एक अलग फाइल में लिखने देगा। मेरा अनुमान कुछ ऐसा करने का रहा होगा
ls -1 | xargs -I{} "grep ABC '{}' > '{}'.out"
लेकिन, जहाँ तक मुझे पता है, xargs को डबल-कोट्स पसंद नहीं हैं। यदि मैं दोहरे-उद्धरणों को हटा देता हूं, लेकिन तब कमांड पूरे कमांड के आउटपुट को एक {file} नामक एकल फ़ाइल में रीडायरेक्ट करती है, व्यक्तिगत फ़ाइलों की एक श्रृंखला के बजाय।
किसी को भी xargs का उपयोग करने का एक तरीका पता है? मैंने इस grep परिदृश्य का उपयोग एक उदाहरण के रूप में xargs के साथ अपनी समस्या को बताने के लिए किया है ताकि xargs का उपयोग न करने वाले कोई भी समाधान मेरे लिए लागू न हों।
xargs
बिना उपयोग नहीं-0
: यह केवल तब लागू होता है जब आपfind
आउटपुट कोxargs
सही करते हैं? जब मैं यह करूँगाxargs -a <input_file>
तो मैं इसका उपयोग कैसे करूँगा ? अधिकांश कमांड जैसेgrep
आउटपुट के साथ\n
और न\0.
ही एकमात्र तरीका जिसके बारे में मैं काम कर सकता हूं, वह यह हैtr
कि शायद इसे ठीक करने के लिए फिर से उपयोग किया जाए। लेकिन केवल इसके साथ इसका उपयोग करना क्यों महत्वपूर्ण है-0
?