Entonces estoy tratando de extraer una salida similar a
x=($discover nginx --human=nood)
lo que me da una salida como
i-03099 nginx IP pip de fideos b4b966d280546c6b070f5f952c281d3294308048
Además, quiero extraer la columna pip en otra variable. Cuando lo hago
echo "$x" | cut -f6
Obtengo el resultado deseado, pero cuando lo intento.
y= "$x" | cut -f6
Obtengo una salida en blanco.
¿Puede explicarme por qué sucede esto y cómo puedo obtener el resultado que deseo? Gracias de antemano.
Respuesta1
Además, quiero extraer la columna pip en otra variable. Cuando lo hago
echo "$x" | cut -f6
Obtengo el resultado deseado[...]
Eso es raro, porque esto no debería funcionar, ya que
‘-f FIELD-LIST’
‘--fields=FIELD-LIST’
Select for printing only the fields listed in FIELD-LIST. Fields
are separated by a TAB character by default. Also print any line
that contains no delimiter character, unless the ‘--only-delimited’
(‘-s’) option is specified.
-f
debería funcionar solo cuando los campos están separados por TAB, a menos que -d
se establezca lo contrario.
Si desea extraer el campo después de la palabra pip
, ese script me funciona
x="i-03099 nginx IP noodlefish pip b4b966d280546c6b070f5f952c281d3294308048"
y=$(echo -n "$x" | cut -d ' ' -f 6 -)
echo "$y"
Respuesta2
Utilice el siguiente comando
y=`echo $x |cut -f6`