GNU/Linux >> Linux Esercitazione >  >> Linux

come ottenere elementi dalla lista in bash?

nessuno spazio tra il segno di uguale

$ List="abcd 1234 jvm something"
$ set -- $List
$ echo $2
1234

Alcuni altri modi, anche se non così efficienti come usare gli interni della shell

$ echo $List | cut -d" " -f2
1234
$  echo $List | awk '{print $2}'
1234
$ echo $List | sed 's/^.[^ \t]* //;s/ .*//'
1234
$ echo $List | tr " " "\n"|sed -n '2p'
1234

Solo per integrare la risposta di ghostdog:potresti anche inserire $List in un array e accedi all'elemento elenco specifico da lì

List="abcd 1234 jvm something"
arr=($List)
echo ${arr[1]}

Nota che gli indici dell'array sono contati 0,1,2,... .

Questo ha il vantaggio di non inquinare l'ambiente della shell con troppe nuove variabili.


Linux
  1. Come alimentare le query mysql da bash

  2. Come faccio a leggere sed dall'input standard?

  3. Come posso ottenere valori univoci da un array in Bash?

  4. Come ottengo la directory assoluta di un file in bash?

  5. Come ottenere il nome host dall'IP (Linux)?

Bash break:come uscire da un loop

Come creare una matrice di elementi unici da una stringa/array in Bash?

Come ottenere Ls per elencare le directory con una barra in avanti finale?

Come ottenere un elenco di collegamenti simbolici su Linux

Come ottengo il mio indirizzo IP dalla riga di comando?

Come ottenere il nome dell'utente da uid