pstree
使用しているpidのセットで実行したいps
ps -aux | grep ^username | awk '{pstree $2}'
残念ながら、出力は空ですがpstree
、同じ pid を使用してコマンドを手動で実行すると、目的の出力が得られます。コマンドの何が問題になっていawk
ますか? または、他の方法で目的の結果を達成するにはどうすればよいですか?
試す
ps -aux | grep ^username | awk '{print $2}' | xargs pstree
(そのまま、pstree は空の変数値です)
これは次のように要約できます。
ps -aux | awk '/^username/{print $2}' | xargs pstree
IHTH
system
で関数を使用しますawk
。grep
また、ここも必要ありません
ps -aux | awk '$1=="username"{system("pstree $2")}'
system
次のように awk で関数を使用します。
awk '{system("pstree " $2)}'
コマンドを次のように短縮できます。
ps -aux | awk ' /^username/ { system("pstree " $2) }'