2017-06-26 8 views
0

Linuxコマンドps -ef | grep [W]DAps -ef | grep WDAの違いは何ですか?linuxコマンドの相違点ps -ef | grep [W] DAとps -ef | grep WDA?

+0

最初の要素は、文字「W」のみからなるグループを最初の要素として持つ正規表現に対してgrepsです。このグループから1つの値が期待され、このグループは1つの要素のみで構成されているため、コマンドは最初の位置に文字 "W"を期待する2番目の要素のように動作します。 – Secespitus

+0

Stack Overflowは、プログラミングおよび開発に関する質問のサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[スーパーユーザ](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。 – jww

答えて

-1

後者の場合、結果の1つとして、grep WDApsという結果になります。角括弧を追加すると、grepps -efの結果出力に[W]DAが見つかりません。その名前に角括弧を含むプロセスがないためです。

それは(私は私のコンソール上sshd代わりのWDAを使用速い結果を得るために)どのように動作するかを説明するために:

ps -ef | grep sshd 
root  1046  1 0 06:36 ?  00:00:00 /usr/sbin/sshd -D 
rogus  2321 1189 0 07:30 pts/0 00:00:00 grep --color=auto sshd 

ps -ef | grep [s]shd 
root  1046  1 0 06:36 ?  00:00:00 /usr/sbin/sshd -D 

角括弧の位置は任意である、あなたが選択した文字は問題ではありません。限り、それだけで一つの文字(あなたが[WD]Aを使用したい場合は、その後grepWADAのいずれかを探します)

を持っているとして、主な用途は、出力を分析し、不要なパイプで連結されたのgrepを取り払うです。あなたがそれを使用する場合。 forループ内で、異なるプロセスインスタンスのデータを含む各行を分析すると、grep WDAがループで使用されますが、これはおそらく意図しないものです。

+0

Downvoter - コメントしますか? – Rogus

+0

ありがとう! そして、あなたが望ましくない情報をいかに正確に取り除くか知っていますか? –