سؤال

وهكذا سؤالي هو ما اذا كان يمكنني إرسال البيانات بطريقة أو بأخرى لبرنامجي ومن ثم إرسال البيانات نفسها ونتيجة لبرنامج آخر دون الحاجة إلى إنشاء ملف مؤقت (في حالتي 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

وهذا يعمل على الأقل في باش.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top