我试图仅在文件中存储正在运行的应用程序的输出的最后一行,每次应用程序返回带有输出的最后一条消息的值的新输出时替换文件的内容。例如,如果正在运行的应用程序helloworld
产生以下输出:
Message1
Message2
Message3
Message4
我正在运行应用程序,如:
$ ./helloworld > output.txt
我希望output.txt
文件始终存储最后一条消息,因此它首先包含:
Message1
然后,当应用程序返回Message2
时,文件的内容将为:
Message2
等等。文件内容在任何给定时间基本上只有一行。
答案 0 :(得分:2)
写入从stdin
读取并写入输出文件的循环。
helloworld | while read i; do echo $i > output.txt; done