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 に答える