在awk的同一行中打印数组内容

时间:2019-02-20 11:56:42

标签: arrays shell awk

我有一个脚本,需要在上一个打印语句的同一行中打印数组内容。在array is dynamic in size处,我已经有一个print语句,它显示按列的输出。

例如:让具有3个内容的数组(arr [1] = 2,arr [2] = 4,arr [3] = 6),min = 100,max = 200。我有打印语句,它正在打印列的明智结果。

gawk '{
  ...
  ...
print "Min:" min "\tMax:" max 
for (itr in arr)
print arr[i] " "

}' script.txt

预期输出:

Min:100  Max:200  2 4 6 

我的输出:

Min:100 Max:200
2
4
6

请为我提供一种方法,如何在先前的打印结果中附加数组内容。

1 个答案:

答案 0 :(得分:0)

尝试使用echo,它具有-n选项,以跳过结尾的换行符。

gawk '{
  ...
  ...
echo -n "Min:" min "\tMax:" max 
for (itr in arr)
echo -n arr[i] " "

}' script.sh

另一种方法

gawk '{
  ...
  ...
printf "Min:" min "\tMax:" max 
for (itr in arr)
printf arr[i] " "

}' script.sh

请参阅echo文档。