GNU/Linux >> Linux Esercitazione >  >> Linux

Bash cattura l'output di awk nell'array

Aggiungi altre parentesi, come questa:

myarr=($(ps -u kdride | awk '{ print $1 }'))

# Now access elements of an array (change "1" to whatever you want)
echo ${myarr[1]}

# Or loop through every element in the array
for i in "${myarr[@]}"
do
   :
  echo $i
done

Vedi anche bash — Array.


Usa il mapfile incorporato di Bash (o il suo sinonimo readarray )

mapfile -t -s 1 myarr < <(ps -u myusername | awk '{print $1}')

Almeno in GNU/Linux puoi formattare l'output di ps , quindi non c'è bisogno di awk e -s 1

mapfile -t myarr < <(ps -u myusername -o pid=)

Linux
  1. Rottura dell'output in nuove righe?

  2. Script Bash:come assegnare ogni riga di output di comando ai valori in un array?

  3. Dividi l'output del comando per colonne usando Bash?

  4. Utilizzo dell'output dei comandi precedenti in bash

  5. convertire l'output di bash `ls` in un array json

Bash:Scrivi su file

Matrici Bash

Matrice associativa in Bash

Cattura automaticamente l'output dell'ultimo comando in una variabile usando Bash?

Converti una stringa di testo in bash in array

Reindirizzare l'output del comando time in unix in una variabile in bash?