假设我有 2 个 bash 命令:
$ A
apple
pear
lemon
A 写得非常快,但在“柠檬”成功终止后等待 1 分钟。
我希望每一行都作为 B 的输入单独和立即处理。但我不想等待 A 终止,而是为每条快速出现的行调用一个新的 B。然后 B 会在 A 的输出中添加一些东西让我们说:
$ A <for every line appearing> B
1 apple
1 pear
1 banana
我怎么能用 bash 做到这一点?
更新
以下是原始命令:
$sudo alive6 -l eth1 -W 0.2 | sed -e 's/Alive: \(.*\) \[ICMP echo-reply\]/\1%eth0/' -e'/Scanned.*/d' -e'//d'
立即响应,而
$sudo alive6 -l eth1 -W 0.2 | sed -e 's/Alive: \(.*\) \[ICMP echo-reply\]/\1%eth0/' -e'/Scanned.*/d' -e'//d' | while read l; do echo $l; done
似乎在等待alive6完成