मैं अक्सर प्रोग्राम को कमांडलाइन करने के लिए अपेक्षाकृत कम स्ट्रिंग डेटा (हालांकि कई लाइनें हो सकता है) को फीड करना चाहता हूं जो बार-बार फैशन में केवल फाइलों (जैसे wdiff) से इनपुट स्वीकार करते हैं। सुनिश्चित करें कि मैं एक या अधिक अस्थायी फाइलें बना सकता हूं, वहां स्ट्रिंग को बचा सकता हूं और पैरामीटर के रूप में फाइल नाम के साथ कमांड चला सकता हूं। लेकिन यह मुझे ऐसा लगता है जैसे कि यह प्रक्रिया अत्यधिक अक्षम होगी यदि डेटा वास्तव में डिस्क पर लिखा गया हो और साथ ही यह डिस्क को आवश्यकता से अधिक नुकसान पहुंचा सकता है यदि मैं इस प्रक्रिया को कई बार दोहराता हूं, जैसे कि अगर मैं लंबे पाठ की एक पंक्ति को खिलाना चाहता हूं फ़ाइलें। क्या इसको दरकिनार करने का एक अनुशंसित तरीका है, डेटा के रूप में अस्थायी रूप से स्टोर करने के लिए पाइप के रूप में छद्म फ़ाइलों का उपयोग करके इसे वास्तव में डिस्क पर लिखने के बिना (या केवल इसे लिखने से अगर यह एक महत्वपूर्ण लंबाई से अधिक हो)। ध्यान दें कि wdiff दो तर्क देता है औरwdiff <"text"
।
xargs
कमांड के लिए फ़ाइल स्ट्रिंग तर्कों से इनपुट लाइनें बनाएगा। लेकिन मुझे इसके विपरीत चाहिए।
echo $data_are_here | dumb_program
?
xargs
?