ps auxまたはps -efの結果として、括弧内のコマンドをどのように見つけますか?

ps auxまたはps -efの結果として、括弧内のコマンドをどのように見つけますか?

だから私が得た結果は

root         2     0  0 Jan18 ?        00:00:00 [kthreadd]
root         3     2  0 Jan18 ?        00:00:23 [ksoftirqd/0]
root         4     2  0 Jan18 ?        00:00:00 [events/0]
root         5     2  0 Jan18 ?        00:00:00 [khelper]
root         8     2  0 Jan18 ?        00:00:00 [async/mgr]
root        44     2  0 Jan18 ?        00:00:00 [sync_supers]
root        46     2  0 Jan18 ?        00:00:00 bdi-default
root        48     2  0 Jan18 ?        00:00:00 [kblockd/0]
root        66     2  0 Jan18 ?        00:00:00 [kswapd0]
root        67     2  0 Jan18 ?        00:00:00 [ksmd]
root        68     2  0 Jan18 ?        00:00:00 aio/0
root       185     2  0 Jan18 ?        00:00:00 [jbd2/ubda-8]

括弧付きのコマンドを見つけるには?

答え1

次のメソッドはすべて[andのすべての内容を印刷し]ますが、これが最後のフィールドである場合にのみ適用されます。

ps aux | awk '$NF~/\[/{print $NF}'

[利点は、最後のフィールドでのみaと一致することです。同等の用途grep

ps aux | grep -o '\[.*\]$'

Perlを使用してこれを行うこともできます。

ps aux | perl -lne '/(\[.+?\])$/ && print $1'

そしてsed

ps aux | sed -n 's/.*\(\[.*\]\)$/\1/p'

答え2

何についてps aux | grep '['

答え3

実際、shaibaのコメントは最も近いです。

補助grep ']'

右角かっこを使用すると、角かっこで終わるすべての行と残りのps auxデータが返されます。

関連情報