【发布时间】:2014-03-26 04:09:29
【问题描述】:
我有一个 C 程序,它将文件作为参数,清理文件并将清理后的数据写入新的临时文件。然后它接受一些标准输入,将其清理并发送标准输出。
我有第二个文件,它对该临时文件和标准输入执行操作。
./file_cleanse <file1.txt> | ./file_operation <temp.txt>
我要么没有从 ./file_operation 获得标准输出,要么没有得到无意义的标准输出,我相信这是因为它正在从仍在写入/此时不存在的文件中读取。
有没有办法让 ./file_operation 等到 ./file_cleanse 在 bash 中返回一个值?
【问题讨论】:
-
欢迎来到 Stack Overflow。请尽快阅读About 页面。
file_operation是在读取file_cleanse在其标准输出(管道)上写的内容,还是从进入file_cleanse的标准输入中读取更多数据?你的描述至少是模棱两可的。file_cleanse如何确定临时文件名?为什么不告诉它写入哪个文件?