阻止 "head" 等待流结束

Prevent "head" from waiting for the stream to end

svn log -r HEAD:1 | grep $pattern --line-buffered | awk '{print }'

上面打印出所有提交的修订号与 pattern 匹配(例如,由某个用户完成)。这工作正常,除了它不断流式传输整个 svn 日志(可能很长)并且只会在它结束后结束。

因为我只需要最近的历史,所以我试过这个:

svn log -r HEAD:1 | grep $pattern --line-buffered | awk '{print }' | head

然而这只是挂起 - 我假设它正在等待流结束但这对我来说是不可接受的。

如何防止 head 等待流结束(而是在获得 10 行后立即结束)?

Since I only need the most recent history

我认为您需要 -m 选项和 grep

试试这个:

svn log -r HEAD:1 | grep -m 1 "$pattern"
  • -m NUM - 在 NUM 个匹配行后停止读取文件。