端末で次のコマンドを実行すると、希望の出力を取得できます。
top -bn 1 | grep "^ " | awk '{ printf("%-8s %-8s %-8s %-8s %-8s %-8s %-8s\n", $1, $2, $9, $10, $6, $11, $12); }' | head -n 6
端末で次のコマンドを実行して SSH を 2 回実行し、ホスト名を取得できます。
ssh 192.168.5.209 "ssh 192.168.5.210 exec \"hostname\""
209はポータルのように動作するため、209から210までのSSHのみが可能です。しかし、問題は "hostname"を上記で書いたトップレベルのコマンドに置き換える方法です。特殊文字が多すぎます。
PHPで実行するスクリプトを作成しています。
ベストアンサー1
grep、awk、head を組み合わせてローカルで実行できます。
ssh 192.168.5.209 "ssh 192.168.5.210 top -bn 1 " |
awk '/^ / { printf("%-8s %-8s %-8s %-8s %-8s %-8s %-8s\n", $1, $2, $9, $10, $6, $11, $12); c++ ; if (c==6) exit ;}
どこ
/^ /
スペースで始まる行の検索c++ ; if (c==6) exit ;
Awkは6行を印刷した後に終了します。