我正在尝试使用awk的输出格式,以便输出由逗号分隔。 现在我有这个:
ids ="`smartctl -A /dev/ssd |awk '/^[0-9]/ {if ($4 < $6) {print $1}}'`"
我的输出如下:
111
222
333
但我想要这样的事情:
111,222,333
另外我的正则表达式与数字1到99不匹配,为什么?
答案 0 :(得分:3)
your command|awk...|paste -s -d','
e.g:
kent$ paste -s -d',' <<< "a
b
c
d"
a,b,c,d
答案 1 :(得分:2)
修复了awk
命令以使用printf
:
smartctl -A /dev/ssd |awk '/^[0-9]/ {if ($4 < $6){printf "%s%s",sep,$1;sep=","}}'
如果你想要一个尾随换行符END{print ""}
。