GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Bash erfasst die Ausgabe von awk in ein Array

Fügen Sie zusätzliche Klammern wie folgt hinzu:

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

Siehe auch bash — Arrays.


Verwenden Sie das eingebaute Mapfile von Bash (oder sein Synonym readarray )

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

Zumindest in GNU/Linux können Sie die Ausgabe von ps formatieren , also keine Notwendigkeit für awk und -s 1

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

Linux
  1. Ein Feld aus einem Json-Array in ein Bash-Array parsen?

  2. Wie erstelle ich ein Array eindeutiger Elemente aus einer Zeichenfolge/einem Array in Bash?

  3. Bash-Skript:Wie weist man jede Zeile der Befehlsausgabe Werten in einem Array zu?

  4. Bash-Arrays mit Beispielen

  5. Ausgabe des Befehls nach Spalten mit Bash aufteilen?

Bash:In Datei schreiben

Bash-Arrays

Assoziatives Array in Bash

Ausgabe des letzten Befehls automatisch mit Bash in eine Variable erfassen?

bash:Listendateien in eine Variable einfügen, aber die Größe des Arrays ist 1

Wie speichere ich die Befehlsausgabe in Ansible in einem Array?