Shell-Script
將程序輸出的逐行塊轉換為 CSV,同時刪除行標題
需要你的幫助,我的命令輸出是:
Server1: CPU(S): 8 RAM: 24 Socket: 2 Server2: CPU(S): 16 RAM: 32 Socket: 5
期望的輸出:
Server1:,8,24,2 Server2:,16,32,5
awk ' NF==1 { printf "%s%s", NR==1 ? "" : ORS, $1 } NF==2 { printf ",%s", $2 } END { printf "%s", ORS } ' file
如果該行包含一個欄位:
- 如果這不是第一行,則列印一個換行符
- 列印欄位1
如果該行包含兩個欄位,則列印一個逗號和 field2
最後,列印一個換行符
$ awk -v RS= -v OFS=',' '{print $1, $3, $5, $7}' file Server1:,8,24,2 Server2:,16,32,5