繁体   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