防止"头部"从等待流到结束

时间:2016-05-13 10:57:56

标签: bash svn grep head

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

上面列出了匹配pattern的所有提交的修订号(例如,由某个用户完成)。这样可以正常工作,除了它继续流式传输整个svn日志(可能很长)并且只会在它到达终点后结束。

由于我只需要最近的历史,我已经尝试过这个:

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

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

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

1 个答案:

答案 0 :(得分:2)

  

因为我只需要最近的历史

我认为-m需要grep选项。

试试这个:

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