GNU/Linux >> Znalost Linux >  >> Linux

Bash zachycující výstup awk do pole

Přidejte další závorky, například takto:

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

Viz také bash — Pole.


Použijte Bashův vestavěný mapový soubor (nebo jeho synonymum readarray )

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

Alespoň v GNU/Linuxu můžete formátovat výstup ps , takže není potřeba awk a -s 1

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

Linux
  1. Rozdělení výstupu do nových řádků?

  2. Bash Script:Jak přiřadit každý řádek výstupu příkazu k hodnotám v poli?

  3. Bash pole s příklady

  1. Rozdělit výstup příkazu podle sloupců pomocí Bash?

  2. Pole v Bash nenalezeno

  3. Použití výstupu předchozích příkazů v bash

  1. převést výstup bash `ls` na pole json

  2. Převeďte textový řetězec v bash na pole

  3. Přesměrovat výstup příkazu time v unixu do proměnné v bash?