bash - Bash遍历数组 - 获取索引
问题描述
我已经看到了许多在 bash 中循环遍历数组的答案,这样您不仅可以获得索引,还可以获得该索引处的变量。例如
for i in "${!foo[@]}"; do
printf "%s\t%s\n" "$i" "${foo[$i]}"
done
但是,对于我的变量foo,它被定义为:
foo=$(< varlist.txt)
其中 varlist.txt 是一个简单的 10 行文本文件,每行包含一个 4 个字母的代码。当我尝试上述方法时,输出不匹配。我在这里想念什么?
例如:
vi varlist.txt
QOP1
QOP2
LMA1
LMA2
NKO1
NKO2
POZ1
POZ2
CCS1
CCS2
vi file_to_test.txt
#text
#more header text
POZ1
CCS2
输出应该是:
7 POZ1
10 CCS2
因为这些是 varlist 文件中的第 7 个和第 10 个索引。
解决方案
推荐阅读
- javascript - 如何使计算器有效
- android - Android 浏览器中的网页 - 图像尺寸
- ios - 如何使用 CAShapeLayer 以编程方式快速绘制一个圆形以在自定义 UIView 中居中
- ajax - 如何通过 ajax 调用将 HTML 表单提交中的表数据发送到 Spring MVC 控制器
- sql - 单选按钮值的长度超出预期
- r - 为不规则时间序列插入数据
- shadow - 如何使用 ArCore Unity 获得阴影?
- javascript - 如何设置自定义步长输入值?
- arrays - 如何解析数组 Swift 中的 JSON 数组?
- c# - 是否可以通过 Visual Studio 扩展从插入符号位置获取类型信息?