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