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) }'