计算数组的元素数量是预期数量的两倍

罗伊马

为什么bash似乎要对数组中的单词进行计数而不是对元素数量进行计数?

touch '1 red' '2 orange' '3 yellow'        # Three filenames, each of two words

files=( * )                                # Get the set of files
echo "#files is ${#files}"

for (( i=0; i <= ${#files}; i++ ))
do
    printf "%d\t%s\n" $i "${files[$i]}"
done

这样的输出似乎是“错误的”。对于初学者,${#files}包含5,表明中有六个元素${files[@]}但是,只有元素012${files[@]}包含任何数据,并且包含正确的文件名:

#files is 5
0       1 red
1       2 orange
2       3 yellow
3
4
5

我本来期望要么${files[@]}包含了六个字1red2orange3,和yellow,或者${#files}2不是这种混合方案。

请问有人可以帮我一下吗?

伊尔卡楚

${#files}是数组第一个元素的长度,即的长度1 red五个。

手册

$ {#name [subscript]}的长度扩展为$ {name [subscript]}。如果下标为'@'或'*',则扩展为数组中元素的数量。[...]
引用不带下标的数组变量等效于引用带下标0的引用。

因此,${#files}= ${#files[0]}但是${#files[@]}${#files[*]}给出数组中元素的数量。

(这与单词的数量无关,尽管如果${files[*]}不加引号进行扩展,则会在所有值上分割出通常的单词。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用于计算数组中元素数量的标准宏

来自分类Dev

如何在Ansible中计算数组中的元素数量?

来自分类Dev

计算数组中的元素数量并为mongodb中集合的每个文档求和?

来自分类Dev

L = {w∈{a,b} *的NPDA:a的数量是b的数量的两倍}

来自分类Dev

计算数组中数组中元素的数量

来自分类Dev

如何计算数组中某个元素的数量?

来自分类Dev

Python,计算确切元素数量的数组差异

来自分类Dev

计算嵌套数组中的元素数量

来自分类Dev

用子选择计数产生两倍的数量

来自分类Dev

计算数组中相同值的数量

来自分类Dev

如何计算数组中对象的数量?

来自分类Dev

计算数组mongo PHP中值的数量

来自分类Dev

计算数组中的元素数

来自分类Dev

计算数组中的元素数

来自分类Dev

计算数组中的元素数

来自分类Dev

如何计算数组中的元素数?

来自分类Dev

计算特定容器中的元素数量

来自分类Dev

计算角度视图中的元素数量

来自分类Dev

PyMongo 按日期计算元素数量

来自分类Dev

如何计算 IEnumerator 中的元素数量?

来自分类Dev

给定元素数量的最大子数组

来自分类Dev

HashCode计算从两倍

来自分类Dev

HashCode计算从两倍

来自分类Dev

计算数组中两个值之间的数字数量

来自分类Dev

一种有效的方法来计算数组中某种元素的数量

来自分类Dev

无法在硒中找到预期的元素数量

来自分类Dev

计算二维数组 Python 中特定元素数量的简单方法

来自分类Dev

计算矩阵中每个元素的连接元素数量的算法

来自分类Dev

Foreach array_combine具有两个具有不同元素数量的数组?