मेरा एक बंद कार्यक्रम है (अर्थात इंटेरसिस्टम"csession" Cachédb टर्मिनल) जो एक पैरामीटर के रूप में दी गई फ़ाइल को लिखेगा। यह कई बार ऐसा करता है, जैसा कि तब लौटता है। हर बार, दी गई फ़ाइल अधिलेखित हो जाती है, इसलिए अंत में, मुझे केवल अंतिम परिणाम मिलता है ...
मेरा विचार था कि एक पैरामीटर के रूप में एक विशेष छद्म फाइल को छल और देना संभव हो सकता है, जो एक प्रॉक्सी के रूप में कार्य करेगा और जो दूसरी फाइल में लिखा गया है उसे जोड़ देगा।
create proxyfile as >> realfile
cat "Hello" > proxyfile
cat "Bye" > proxyfile
cat realfile
Hello
Bye
क्या किसी को लगता है कि यह संभव हो सकता है, शायद थोड़ी उपयोगिता का उपयोग कर?
उत्तर:
उत्तर № 1 के लिए 4आप इस उद्देश्य के लिए एक FIFO फ़ाइल (नामित पाइप) का उपयोग कर सकते हैं। यह देखने के लिए कि वे कैसे काम करते हैं, दो टर्मिनल विंडो खोलें। एक में, करते हैं
cd /tmp
mkfifo pipe
tail -f pipe
और दूसरे में
cd /tmp
echo "Hello" > pipe
echo "Bye" > pipe
वास्तविक समस्या के लिए, अपने एप्लिकेशन को FIFO को लिखें और उपयोग करें tail -f pipe > outputfile
परिणामों को इकट्ठा करने के लिए पृष्ठभूमि में outputfile
.
उत्तर № 2 के लिए 1
आप उपयोग कर सकते हैं /dev/stdout
आउटपुट फ़ाइल के रूप में, इसे कैट पर पाइप करें और मानक ouput को किसी फ़ाइल के साथ जोड़ें >>
csession /dev/stdout | cat >>realfile
यह अधिलेखित नहीं होगा, लेकिन मौजूदा फ़ाइल में संलग्न होगा।