我应该如何在第一场比赛而不是第二场比赛退出? [重复]

问题描述 投票:0回答:1

[后台进程正在写入日志,我想将此日志中的所有文本输出到终端,直到单词“ Do”为止。

我正在使用此命令:

tail -f service.log | sed '/Do/ q'

由于某种原因,该命令将输出单词“ Do”,并等待直到下一行写入日志之前退出。

为了验证,我运行了命令,然后在另一个窗口中使用以下命令将其手动附加到文件:

echo A >> service.log
# outputs 'A' in the sed window
echo B >> service.log
# outputs 'B' in the sed window
echo C >> service.log
# outputs 'C' in the sed window
echo Do >> service.log
# outputs 'Do' in the sed window, but the tail and sed command is still running.
echo E >> service.log
# now the tail and sed command finishes.

sed似乎仅在将下一行写入文件后才退出,而不是在输出时退出。

如何使我的sed命令在单词'Do'的第一个输出上退出?

linux bash sed watch
1个回答
0
投票

尝试使用大写字母Q

sed '/Compiled/Q'
© www.soinside.com 2019 - 2024. All rights reserved.