Ответ 1
echo $STRING | cut -d " " -f $N
В Bash я хочу получить N-е слово строки.
Например:
STRING="one two three four"
N=3
Результат:
"three"
Что может сделать команда Bash command/script?
echo $STRING | cut -d " " -f $N
Альтернативный
N=3
STRING="one two three four"
arr=($STRING)
echo ${arr[N-1]}
Используя awk
echo $STRING | awk -v N=$N '{print $N}'
Тест
% N=3
% STRING="one two three four"
% echo $STRING | awk -v N=$N '{print $N}'
three
STRING=(one two three four)
echo "${STRING[n]}"
Нет дорогих вилок, нет труб, нет базизмов:
$ set -- $STRING
$ eval echo \${$N}
three
Но будьте осторожны с глотанием.