Bash:如何使用制表符分隔数组元素,并在同一行上打印?
Bash:如何使用制表符分隔数组元素,并在同一行上打印?
我在bash中有一个数组...比如,my_array:
my_array={1,2,3,4}
我对此有两个要求:
1)在同一行上打印所有元素,2)用制表符分隔每个元素。
当我打印出这些元素时,输出应该是:
1 2 3 4
每个元素之间的“间隙”都是一个制表符。
对如何做到这一点有什么建议将不胜感激。谢谢。
编辑
到目前为止,我尝试了以下方法:
1)我知道我可以这样在同一行上打印出一个数组:
echo {my_array[*]}
2)为了获得所需的制表符,我尝试创建一个只包含制表符的变量,并将其添加到数组的每个元素之间:
temp=" " for(...) do ((my_array+=$i)) ((my_array+=$temp)) done
然而,这给我带来了错误。
编辑2
由Inan提供的解决方案
这个方法起作用:
printf '%s\t' "${my_array[@]}"
然而,有几个问题;在最后一个元素之后,如何删除最后一个制表符?