В Bash я хочу, чтобы N-е слово строки удерживалось переменной.
Например:
STRING="one two three four"
N=3
Результат:
"three"
Какая команда / сценарий Bash могла это сделать?
В Bash я хочу, чтобы N-е слово строки удерживалось переменной.
Например:
STRING="one two three four"
N=3
Результат:
"three"
Какая команда / сценарий Bash могла это сделать?
Ответы:
echo $STRING | cut -d " " -f $N
Альтернатива
N=3
STRING="one two three four"
arr=($STRING)
echo ${arr[N-1]}
IFS(внутренний разделитель полей) на ':' или что-то вроде этого вместо пробела, измените его, прежде чем пытаться это сделать.
Файл, содержащий некоторые утверждения:
cat test.txt
Результат:
This is the 1st Statement
This is the 2nd Statement
This is the 3rd Statement
This is the 4th Statement
This is the 5th Statement
Итак, чтобы вывести 4-е слово этого оператора, введите:
cat test.txt |awk '{print $4}'
Вывод :
1st
2nd
3rd
4th
5th
STRING=(one two three four)
echo "${STRING[n]}"