W Bash chcę uzyskać n-te słowo ciągu trzymanego przez zmienną.
Na przykład:
STRING="one two three four"
N=3
Wynik:
"three"
Jakie polecenie / skrypt Bash może to zrobić?
W Bash chcę uzyskać n-te słowo ciągu trzymanego przez zmienną.
Na przykład:
STRING="one two three four"
N=3
Wynik:
"three"
Jakie polecenie / skrypt Bash może to zrobić?
Odpowiedzi:
echo $STRING | cut -d " " -f $N
Alternatywa
N=3
STRING="one two three four"
arr=($STRING)
echo ${arr[N-1]}
IFS
(wewnętrzny separator pól) na „:” lub coś innego zamiast odstępu, zmień to z powrotem, zanim spróbujesz.
Plik zawierający wyciągi:
cat test.txt
Wynik:
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
Aby więc wydrukować czwarte słowo tego typu instrukcji:
cat test.txt |awk '{print $4}'
Wynik :
1st
2nd
3rd
4th
5th
STRING=(one two three four)
echo "${STRING[n]}"