linux - Write stdout to two different files (one overwrite, one append) in bash -
मेरे पास समूह
और संख्या द्वारा व्यवस्थित किए गए प्रयोगों का एक गुच्छा है I / कोड>। मेरे पास 3 भिन्न
समूहों
और संख्या
के लिए, मैं 2 अलग-अलग प्रयोगों को चलाने के लिए चाहता हूं दूसरे शब्दों में, मेरे पास चलाने के लिए निम्नलिखित प्रयोग हैं:
समूह ए, 1 समूह ए, 2 समूह बी, 1 समूह बी, 2 समूह सी, 1 समूह सी, 2
हर बार जब मैं एक प्रोग्राम चलाता हूं जो प्रयोग के परिणामों को stdout पर प्रिंट करता है, तो मैं चाहता हूं कि उन परिणामों को पाठ फ़ाइल में डाल दिया जाए मैं प्रत्येक समूह
और संख्या
संयोजन के परिणाम के लिए एक अलग पाठ फ़ाइल चाहता हूं, और प्रत्येक समूह
वाले परिणामों के लिए एक अलग टेक्स्ट फ़ाइल भी चाहता हूं
इसलिए, ये मेरी बास स्क्रिप्ट है जो इन सभी प्रयोगों को चलाता है:
#! / Bin / bash groups = $ समूहों में जी के लिए "एबीसी" संख्याएं = "1 2" आरएम * .txt; करो # डॉलर के मूल्य के लिए $ g के मूल्य के आधार पर ग्रुप सेटिंग्स सेट करें; करें # $ n ./myprogram & gt; & gt; के मान के आधार पर संख्या सेटिंग सेट करें। $ G-results.txt किया
उपरोक्त कोड का उपयोग करके, मैं इन पाठ फ़ाइलों के साथ समाप्त होता है:
A-results.txt बी-परिणाम .txt C-results.txt
लेकिन मुझे भी पाठ फ़ाइलें हैं:
ए-1-परिणाम। Txt A-2-परिणाम .txt B-1-results.txt B-2-results.txt C-1-results.txt सी-2-परिणाम। Txt
मैं अपना कैसे बदल सकता हूँ / Myprogram ...
कमांड को एक टेक्स्ट फ़ाइल (जैसे मैं पहले से कर रहा हूँ) और ओवरराइट ( & gt;
) को एक साथ जोड़ दिया गया है ( & gt; & gt;
/ Code>) दूसरे को (जैसा मैं करना चाहता हूं)?
टी का उपयोग करें
कमांड को कई हिस्सों में "विभाजित" मानक आउटपुट करने का आदेश।
./ myprogram | टी "$ g- $ number-results.txt" & gt; & gt; $ G-results.txt
tee
एक या अधिक नामित फाइलों के साथ-साथ मानक आउटपुट के अपने मानक इनपुट को लिखता है, इसलिए ऊपर की पाइपलाइन लिखती है myprogram
प्रत्येक अनूठे प्रति-आउट आउटपुट फ़ाइल में प्रत्येक आवृत्ति का आउटपुट, साथ ही सभी $ g
के लिए आउटपुट आउटपुट एक फ़ाइल में चलाता है।
आप फ़ाइल के लिए संलग्न करने के बजाय आंतरिक के लिए
पाश के आउटपुट को भी जोड़ सकते हैं।
$ समूहों में जी के लिए; करो # डॉलर के मूल्य के लिए $ g के मूल्य के आधार पर ग्रुप सेटिंग्स सेट करें; करें # $ n ./myprogram | के मूल्य के आधार पर नंबर सेटिंग सेट करें टी "$ g- $ number-results.txt" done & gt; "$ G-results.txt" किया गया
Comments
Post a Comment