0

我从 xargs 重定向输出时遇到问题,即我执行以下操作:

find . -mmin -10 | xargs grep  mypattern > greping

这将无限期地继续写入文件(我一直等到文件达到大约 25GB )但是当我将它更改为在最后将管道添加到 grep 时,我会得到正确的结果(大约 25 kB 文件):

find . -mmin -10 | xargs grep  mypattern | grep 2013-07-11 > greping

我在这里遗漏了什么,为什么xargs在第一个代码片段中不断写入文件?

重击版本GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)

4

1 回答 1

3

将重定向文件从 更改>greping>../greping>/tmp/greping

基本上,输出文件不应位于当前目录或其任何子目录中。

或尝试:

find . -mmin -10 | grep -Fx -v './greping' | xargs grep  mypattern > greping
于 2013-07-11T12:22:24.417 回答