次のコマンドで再帰 grep を実行しています。
grep -r "load" . > tmp.txt
しかし、Enter キーを押してもコマンドは実行されず、bash はさらに入力を待機します。私の OS は Ubuntu 12.04 です。
以下の 2 つの回答を確認しましたが、問題は解決できませんでした。
答え1
私も Ubuntu 12.04 を使用していますが、次のエラーが発生します:
$ grep -r 'test' . > tmp.txt
grep: input file `./tmp.txt' is also the output
リダイレクトは最初に展開されるため、実行tmp.txt
前に現在のディレクトリに作成されgrep
、エラーが発生します。
tmp.txt
などの他のパスに変更すると/tmp/tmp.txt
、正常に動作します。
私のgrep
バージョン:
$ grep --version
grep (GNU grep) 2.10
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Mike Haertel and others, see <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.