У меня есть текстовый файл, который я пытаюсь прочитать в массив, используя Bash. Вот содержимое текстового файла:
Vol12
Vol0
Vol2
Vol21
Я хочу извлечь число из вышеуказанной строки и представить его пользователю, чтобы выбрать число для ввода выбора, например:
12 - Vol12
0 - Vol0
2 - Vol2
21 - Vol21
Пользователь вводил бы 12, чтобы выбрать Vol12, или 2, чтобы выбрать Vol2, и использовал выбор для выполнения дальнейших действий.
Я искал, как это сделать, но вот что у меня есть:
Vol="/Users/alex/Downloads/file.txt"
options=($(tail -n+1 $Vol | awk '{print $1}' | sort | uniq) All Quit)
for (( i = 0; i < ${#options[@]}; i++ )); do
echo "$i - ${options[i]}"
done
echo -e "Enter number corresponding to the Volume snapshot you want to restore: \n"
read vol
}
Следующий вывод - это то, что я получаю с помощью приведенного выше кода:
OPTIONS MENU
0 - Vol12
1 - Vol0
2 - Vol2
3 - Vol21
4 - All
5 - Quit
Enter number corresponding to the Volume snapshot you want to restore:
Как я могу получить вывод, который будет отображаться как следующий, и сможет выбрать 12 или 0?
12 - Vol12
0 - Vol0
2 - Vol2
21 - Vol21
Пожалуйста, помогите