No Bash, quero obter a enésima palavra de uma string mantida por uma variável.
Por exemplo:
STRING="one two three four"
N=3
Resultado:
"three"
Que comando / script Bash poderia fazer isso?
No Bash, quero obter a enésima palavra de uma string mantida por uma variável.
Por exemplo:
STRING="one two three four"
N=3
Resultado:
"three"
Que comando / script Bash poderia fazer isso?
Respostas:
echo $STRING | cut -d " " -f $N
Uma alternativa
N=3
STRING="one two three four"
arr=($STRING)
echo ${arr[N-1]}
IFS
(o separador de campo interno) para ':' ou algo em vez de espaço em branco, altere-o de volta antes de tentar isso.
Um arquivo contendo algumas declarações:
cat test.txt
Resultado:
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
Então, para imprimir a 4ª palavra deste tipo de declaração:
cat test.txt |awk '{print $4}'
Resultado :
1st
2nd
3rd
4th
5th
STRING=(one two three four)
echo "${STRING[n]}"