2017-02-02 7 views
2

マシンでgrepを使用しようとしていますが、動作していません。パイプラインの後で使用すると(例えばps -aux | grep grep)、grepプロセスの例では動作します。Grepが "S +"状態で起動する

しかし、私は、ファイルに単語を検索するためにしようとしているが、私は「grep anything」、「grep -Ril anything」書けばそれだけでS +()の状態に関係なく、で始まり、manページからなど

答えて

3

どのファイルが指定されていない場合

grepのは、あなたがgrep anythingを実行するときに、grepは、標準入力を待っている...

という名前の入力ファイル(または標準入力を検索します。あなたはそれをどちらかのファイルを与える必要がありますコマンドラインで名前を入力するか、stdinで入力します。

+0

Hmmm、これは「部分的に」働いていましたが、以前はこのように他のコマンドを使う必要があったマシンを覚えています。フォルダを探すためにはフォルダを指定する必要がありますが、他のマシンでは "grep anything"を起動して何かを現在のパスで検索しています。違いはなぜですか? 現在のフォルダでの検索を拒否するマシンはCentOS 5.6です。現在動作している他のマシンはCentoS 7.2.1511を実行しています。たぶんgrep版なのでしょうか?たぶん、SO環境設定? – Phazoner

+0

これは間違いなくgrepバージョンの違いかもしれません。 grepバージョン2.27のマニュアルを参照してください。入力が指定されていない場合、grepは作業ディレクトリを検索します。再帰を指定するコマンドラインオプションが与えられた場合、それ以外の場合、grepは標準入力を検索します。だから、新しいバージョンでは "grep anything"はできないでしょうが、 "grep -r anything"にすることができます。それはあなたの経験にマッチしますか? –

関連する問題