Então, estou tentando extrair uma saída semelhante a
x=($discover nginx --human=nood)
o que me dá uma saída como
i-03099 nginx IP noodlefish pip b4b966d280546c6b070f5f952c281d3294308048
Além disso, quero extrair a coluna pip em outra variável. Quando eu faço
echo "$x" | cut -f6
Obtenho a saída desejada, mas quando tento.
y= "$x" | cut -f6
Eu recebo uma saída em branco.
Por favor, você pode me explicar por que isso está acontecendo e como posso obter o resultado que desejo. Agradeço antecipadamente.
Responder1
Além disso, quero extrair a coluna pip em outra variável. Quando eu faço
echo "$x" | cut -f6
Eu obtenho o resultado desejado [...]
Isso é estranho, porque isso não deveria funcionar, já 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
deve funcionar apenas quando os campos são separados por TAB, a menos que -d
seja definido de outra forma.
Se você deseja extrair o campo após a palavra pip
, esse script funciona para mim
x="i-03099 nginx IP noodlefish pip b4b966d280546c6b070f5f952c281d3294308048"
y=$(echo -n "$x" | cut -d ' ' -f 6 -)
echo "$y"
Responder2
Use o comando abaixo
y=`echo $x |cut -f6`