我有一個名爲「gao」的進程,進程的「grep」顯示兩個進程包括「awk」。什麼是grep管道的輸出
ps aux | awk '/gao/{print}'
其中輸出有兩條線,而我只想要一個包括「高」只。
vinllen 1205 100.0 0.0 2432780 652 s005 R+ 12:01PM 0:14.80 ./gao
vinllen 1271 0.0 0.0 2423460 232 s006 R+ 12:01PM 0:00.00 awk /gao/{print}
所以我想在這個shell腳本中插入「grep -v awk」。但我不知道我應該去哪個地方。嘗試在「ps aux」之後插入此句後,它可以正常工作。
[email protected] ~/code/tmp/2017_07_17$ ps aux | grep -v awk | awk '/gao/{print}'
vinllen 1205 100.0 0.0 2432780 652 s005 R+ 12:01PM 2:39.12 ./gao
這混淆了我很多,因爲在我的理解,第一「的ps aux」管道將輸出全過程,第二個「的ps aux | grep的-v AWK」將輸出所有的進程排除「AWK 「,第二條管道將再次提升」awk「的進程。所以我認爲應該有兩個過程,如下所示:
vinllen 1205 100.0 0.0 2432780 652 s005 R+ 12:01PM 0:14.80 ./gao
vinllen 1271 0.0 0.0 2423460 232 s006 R+ 12:01PM 0:00.00 awk /gao/{print}
有誰能告訴我爲什麼?非常感謝。
謝謝你,埃德。所以,正如你提到的那樣,是否有可能'ps aux'的結果被'grep -v awk'過濾,最後是'awk'處理的結果。如果是這樣,輸出應該是兩行。 – vinllen
1)是,2)否。請重新閱讀我在答覆中所說的內容,因爲您似乎誤解了這一點,但我不知道如何更清楚地陳述它。 –
哇,太棒了!它幫助我,非常感謝! – vinllen