[英]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.