In Bash möchte ich das N-te Wort eines Strings erhalten, der von einer Variablen gehalten wird.
Zum Beispiel:
STRING="one two three four"
N=3
Ergebnis:
"three"
Welcher Bash-Befehl / welches Bash-Skript könnte dies tun?
In Bash möchte ich das N-te Wort eines Strings erhalten, der von einer Variablen gehalten wird.
Zum Beispiel:
STRING="one two three four"
N=3
Ergebnis:
"three"
Welcher Bash-Befehl / welches Bash-Skript könnte dies tun?
Antworten:
echo $STRING | cut -d " " -f $N
Eine Alternative
N=3
STRING="one two three four"
arr=($STRING)
echo ${arr[N-1]}
IFS(das interne Feldtrennzeichen) auf ':' oder etwas anstelle von Leerzeichen gesetzt haben, ändern Sie es zurück, bevor Sie dies versuchen.
Eine Datei mit einigen Anweisungen:
cat test.txt
Ergebnis:
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
So drucken Sie das 4. Wort dieses Anweisungstyps:
cat test.txt |awk '{print $4}'
Ausgabe :
1st
2nd
3rd
4th
5th
STRING=(one two three four)
echo "${STRING[n]}"