簡體   English   中英

格式化awk輸出

[英]Formatting awk output

我正在嘗試使用awk的輸出格式,以使輸出用逗號分隔。 現在我有這個:

ids ="`smartctl -A /dev/ssd |awk '/^[0-9]/ {if ($4 < $6) {print $1}}'`"

和我的輸出看起來像這樣:

111
222
333

但我想要這樣的東西:

111,222,333

另外我的正則表達式與數字1到99不匹配,為什么?

快速又骯臟:

your command|awk...|paste -s -d','

例如:

kent$  paste -s -d',' <<< "a
b
c
d"
a,b,c,d

只需修復您的awk命令即可使用printf

smartctl -A /dev/ssd |awk '/^[0-9]/ {if ($4 < $6){printf "%s%s",sep,$1;sep=","}}'

如果您想在結尾使用換行符,請在末尾加上END{print ""}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM