我尝试了以下方法,但仍然等待程序完成执行
lnx>someprogram | sed -n '1,10p'
也许管道可能不是解决这个问题的正确方法。如有任何反馈,我们将不胜感激!
问候, 普济
sed
为每一行执行脚本。 -n
只是默认不打印该行,脚本仍然执行。
我认为在 Bash 中最简单的方法:
head -n 10 < <(someprogram)
进程替换
<(...)
内的命令由 Bash 设置,并且当“主”命令 head -n 10
退出时也由 Bash 终止。
不是在 Bash 中,在 POSIX sh 中,你需要自己实现
<(...)
- mkfifo
,分叉进程,读取 10 行,终止进程并等待。