arrays - 访问 'cat' 输出作为 'bash' 中的数组

标签 arrays linux bash shell scripting

我正在尝试访问数组中常规“猫”输出的一些数值。

如果我这样做:cat/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

我得到:51000 102000 204000 312000 ...

所以我编写如下脚本来获取数组中的所有元素,并尝试获取元素的数量。

vAvailableFrequencies=$(sudo cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies)
nAvailableFrequencies=${#vAvailableFrequencies[@]}

问题是 nAvailableFrequencies 等于数组中字符的数量,而不是元素的数量

我们的想法是能够访问每个元素:

for (( i=0;i<$nAvailableFrequencies;i++)); do
   element=${vAvailableFrequencies[$i]
done

这在 bash 中是否可行,而无需执行诸如顺序读取之类的操作并将元素一个一个地插入数组中?

最佳答案

你可以像这样使用数组:

arr=($(</sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies))

nAvailableFrequencies=${#arrr}
  • $(<file)(...) 时读取并输出文件内容创建一个数组。

关于arrays - 访问 'cat' 输出作为 'bash' 中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32071879/

相关文章:

bash - 查找和删除文件夹(ubuntu 服务器)

java - 用一定的概率填充二维数组?

c - XCB获取所有windows X.Org的事件

linux - 如何从 bash 中的字符串中获取数值

linux - 在具有共享内存结果零拷贝的进程之间进行通信?

linux - 使用 PowerShell 从 com 端口获取 Linux 设备 IP 地址

linux bash 计算文件夹中文件的大小

javascript - 如何获取数组中的 JSON 对象?

c# - 如何将数组作为参数传递到存储过程中?

ios - NSArray 创建的 NSArray