文字列に一致するいくつかのプロセスのCPU消費量を収集する必要がありますが、コマンドで区切られた行にある必要がありますps
。grep
awk
ユースケース:
- 私が使用するコマンド:
ps aux | grep tx | grep -v grep | awk {'print $11":"$3'}
- 出力:
/opt/tx/bin/server:5.2
/opt/tx/bin/engine:1.2
/opt/tx/bin/agent:0.3
- 私は何を得るべきですか?:
/opt/tx/bin/server:5.2,/opt/tx/bin/engine:1.2,/opt/tx/bin/agent:0.3
みんなに乾杯
答え1
以下を使用して同じ効果を得ることができます。
ps -e -o command,pcpu | awk -v OFS=: -v ORS=, '/tx/ {print $1, $NF}' | sed 's/,$/\n/'
これはps
、オプションを使用して列をフィルタリングし、AWKを使用して出力をフィルタリングし、一致する各行の最初と最後の項目を保持し、フィールドとレコードの区切り文字を変更し、末尾のカンマを改行文字に置き換えます。