سؤال
وهكذا سؤالي هو ما اذا كان يمكنني إرسال البيانات بطريقة أو بأخرى لبرنامجي ومن ثم إرسال البيانات نفسها ونتيجة لبرنامج آخر دون الحاجة إلى إنشاء ملف مؤقت (في حالتي ouputdata.txt). ويفضل استخدام أنابيب لينكس / باش.
وأنا حاليا القيام بما يلي:
والقط inputdata.txt | ./MyProg> outputdata.txt
والقط inputdata.txt outputdata.txt | ./MyProg2
المحلول
واختيار 1 - إصلاح MyProg
لكتابة الإخراج المدمجة من المدخلات وانها الانتاج الخاصة بها. ثم يمكنك القيام بذلك.
./MyProg <inputdata.txt | ./MyProg2
واختيار 2 - إذا لم تتمكن من إصلاح MyProg
لكتابة كل من المدخلات والمخرجات، تحتاج إلى دمج
./MyProg <inputdata.txt | cat inputdata.txt - | ./MyProg2
نصائح أخرى
وهنا هو طريقة أخرى، والتي يمكن أن تمتد إلى وضع الناتج من برنامجين معا:
( Prog1; Prog2; Prog3; ... ) | ProgN
وهذا يعمل على الأقل في باش.
لا تنتمي إلى StackOverflow