如何在 unix 中使用 awk 列出和编号数组值

How to list and numbered array values using awk with unix

是否可以使用 "awk" 将数组中的输出值格式化为列表并编号?

我确实找到了只打印列表的方法,但想要数字而不使用循环,这可能吗?

这是我必须列出的数组值:

set -A MyArray $(ls)

printf "%s\n" ${MyArray [@]}

输出:

File1.txt
File2.txt
File3.txt

我想做这样的事情:

1- File1.txt
2- File.txt
3- File3.txt

如果你不想要特定的数组,那么这可以通过这种方式完成

printf "%s\n" ${MyArray [@]} | awk '{i++; print i"-", [=10=]}'

awk '{print ++i"-", [=11=]}' <<<"${MyArray[@]}"