Подтвердить что ты не робот

N-е слово в строке

В Bash я хочу получить N-е слово строки.

Например:

STRING="one two three four"
N=3

Результат:

"three"

Что может сделать команда Bash command/script?

4b9b3361

Ответ 1

echo $STRING | cut -d " " -f $N

Ответ 2

Альтернативный

N=3
STRING="one two three four"

arr=($STRING)
echo ${arr[N-1]}

Ответ 3

Используя 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

Ответ 4

STRING=(one two three four)
echo "${STRING[n]}"

Ответ 5

Нет дорогих вилок, нет труб, нет базизмов:

$ set -- $STRING
$ eval echo \${$N}
three

Но будьте осторожны с глотанием.