所以我的問題是如果我可以以某種方式發送數據到我的程序,然後發送相同的數據和其結果到另一個程序,而不必創建一個臨時文件(在我的情況下ouputdata.txt)。 最好使用linux管道/ bash。如何追加到管道上?
我現在做到以下幾點:
貓inputdata.txt | ./MyProg> outputdata.txt
cat inputdata.txt outputdata.txt | ./MyProg2
所以我的問題是如果我可以以某種方式發送數據到我的程序,然後發送相同的數據和其結果到另一個程序,而不必創建一個臨時文件(在我的情況下ouputdata.txt)。 最好使用linux管道/ bash。如何追加到管道上?
我現在做到以下幾點:
貓inputdata.txt | ./MyProg> outputdata.txt
cat inputdata.txt outputdata.txt | ./MyProg2
選擇1 - 修復MyProg
來寫入來自輸入的合併輸出和它自己的輸出。然後你可以做到這一點。
./MyProg <inputdata.txt | ./MyProg2
選擇2 - 如果你不能修復MyProg
寫輸入和輸出,你需要合併。
./MyProg <inputdata.txt | cat inputdata.txt - | ./MyProg2
這裏是另一種方式,它可以擴展到把兩個程序的輸出在一起:
(Prog1; Prog2; Prog3; ... ) | ProgN
在猛砸至少工作。
對不起,但這個解決方案是醜陋的。只需修復MyProg並用管道將它們鏈接在一起即可。 – 2008-12-01 16:22:50
a)這根本不難看,b)第一種選擇恰恰是這樣。 – hop 2008-12-01 16:38:11