GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo obtener elementos de la lista en bash?

sin espacios entre el signo igual

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

Algunas otras formas, aunque no tan eficientes como usar las partes internas de 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 para complementar la respuesta de ghostdog:también podría poner $List 's en una matriz y acceda al elemento de lista específico desde allí

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

Tenga en cuenta que los índices de la matriz se cuentan 0,1,2,... .

Esto tiene la ventaja de no contaminar el entorno de shell con demasiadas variables nuevas.


Linux
  1. ¿Cómo crear una matriz de elementos únicos a partir de una cadena/matriz en Bash?

  2. ¿Cómo obtener resultados de gdb.execute en PythonGDB (GDB 7.1)?

  3. Cómo obtener el estado de salida de un bucle en bash

  4. Cómo obtener un proceso secundario del proceso principal

  5. ¿Cómo obtener el nombre de host de IP (Linux)?

Bash break:cómo salir de un bucle

¿Cómo puedo obtener Ls para listar directorios con una barra inclinada al final?

Cómo obtener una lista de enlaces simbólicos en Linux

¿Cómo desarmo o me deshago de una función bash?

¿Cómo obtengo mi dirección IP desde la línea de comandos?

Cómo obtener el nombre de usuario de uid