Como usar a saida de um comando para servir de entrada p/ outro? [RESOLVIDO]

1. Como usar a saida de um comando para servir de entrada p/ outro? [RESOLVIDO]

Manu
ManuOnline

(usa Debian)

Enviado em 18/12/2018 - 17:25h

De uns tempos para cá, tenho sentido necessidade de tornar pratico algumas tarefas em linha de comando e evito usar o ambiente gráfico ao máximo, entretanto uma das dificuldades, como o titulo da dúvida sugere, vou dar um exemplo a seguir:
Conheço o básico de redirecionamento, mas eles apenas redirecionam para arquivos, o máximo que vi parecido com o objetivo que proponho é o exec seguido de um find. Sou iniciante no linux então tenham calma...
Gostaria de receber diferentes soluções, talvez esse exemplo não seja objetivo mas vamos lá:

allan@ubuntu:~$ ssh root@192.168.1.6
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
c5:2f:94:0b:b9:9d:86:b8:76:52:c8:00:db:8e:b1:fb.
Please contact your system administrator.
Add correct host key in /home/allan/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/allan/.ssh/known_hosts:53
remove with: ssh-keygen -f "/home/allan/.ssh/known_hosts" -R 192.168.1.6
RSA host key for 192.168.1.6 has changed and you have requested strict checking.
Host key verification failed


O que fiz foi uma tentativa falha de acessar outro host, a solução está explicita, então eu gostaria de apenas pegar a linha que sugere a saida de erro, ou saida e seja filtrada para ser executada em terminal, algo como por exemplo:
cat saida.txt | grep ssh-keygen| cut -d " " -f5-20 

Onde redirecionei para um arquivo.
alguns vão dizer, para que complicar, é apenas digitar o que sugere, mas para fins didáticos gostaria de dominar um pouco mais terminal. Ah, e antes, gostaria de se possível, não precisar redirecionar para um arquivo como fiz, se existir uma forma, um comando que jogue a saída para outro.



  


2. MELHOR RESPOSTA

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 18/12/2018 - 19:58h

ManuOnline escreveu:
Mas é exatamente isto $ < estudarei sobre ele, Muito Obg!!


V aí >>> https://superuser.com/questions/935374/difference-between-and-in-shell-script

Precisando é só dar o grito

Abçs.

NOTA: Caso a dúvida tenha sido sanada, não deixe de marcar o tópico como "resolvido" , e, se for o caso, assinale depois uma "melhor resposta".

------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------


3. Re: Como usar a saida de um comando para servir de entrada p/ outro? [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 18/12/2018 - 18:15h

Não entendi muito bem o que vc precisa ... veja bem ... isso já é um redirecionamento
cat saida.txt | grep ssh-keygen| cut -d " " -f5-20  


NOTA: só para ilustrar ... se vc vai usar 'grep', não precisa usar 'cat', a própria sintaxe do 'grep' pede o arquivo
grep ssh-keygen saida.txt | cut -d " " -f5-20  


mauricio@phantom ~ $ grep --help
Uso: grep [OPÇÃO]... PADRÃO [ARQUIVO]...
Busca por PADRÃO em cada ARQUIVO ou entrada padrão.
PADRÃO é, por padrão, uma expressão regular básica (BRE).
Exemplo: grep -i "olá, mundo" menu.h main.c


------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



4. Re: Como usar a saida de um comando para servir de entrada p/ outro? [RESOLVIDO]

Manu
ManuOnline

(usa Debian)

Enviado em 18/12/2018 - 18:46h

Exato, mas gostaria que não fosse preciso por em um arquivo primeiro , mas se for a única forma gostaria, que fosse passado para o bash a saída para execução. Nesse caso ele só retorna a linha e não executa.



5. Re: Como usar a saida de um comando para servir de entrada p/ outro? [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 18/12/2018 - 18:51h

.
.
.
.
Continuo sem te entender ... o que é que está sendo enviado para arquivo ????

------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



6. Re: Como usar a saida de um comando para servir de entrada p/ outro? [RESOLVIDO]

Manu
ManuOnline

(usa Debian)

Enviado em 18/12/2018 - 19:01h

allan@ubuntu:~$ ssh root@192.168.1.6
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
c5:2f:94:0b:b9:9d:86:b8:76:52:c8:00:db:8e:b1:fb.
Please contact your system administrator.
Add correct host key in /home/allan/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/allan/.ssh/known_hosts:53
remove with: ssh-keygen -f "/home/allan/.ssh/known_hosts" -R 192.168.1.6
RSA host key for 192.168.1.6 has changed and you have requested strict checking.
Host key verification failed


Isto tudo, lá informa que é preciso executar um parametro que está em negrito, quero tirar de la de dentro aquele comando sem digitar ele, só por meio de filtro , executar aquele parametro, pode ser agora de qualquer forma menos digitar , copiar e colar com o mouse...


7. Re: Como usar a saida de um comando para servir de entrada p/ outro?

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 18/12/2018 - 19:28h

Olha só ... ainda não consegui captar o que vc quer, então é uma de vc esperar outro user ou tentar explicar melhor: tipo

eu tenho A e quero que apareça B no lugar C.


Vou dar um chute aqui :

Digamos que vc tem uma saída do 'grep' e quisessse executar em um 'rm' ... vc faria assim
rm `grep "coisa" arquivo` 

ou
rm $(grep "coisa" arquivo) 


------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



8. Re: Como usar a saida de um comando para servir de entrada p/ outro? [RESOLVIDO]

Manu
ManuOnline

(usa Debian)

Enviado em 18/12/2018 - 19:43h

Vou dar um chute aqui :

Digamos que vc tem uma saída do 'grep' e quisessse executar em um 'rm' ... vc faria assim
rm `grep "coisa" arquivo` 

ou
rm $(grep "coisa" arquivo) 


Mas é exatamente isto $ < estudarei sobre ele, Muito Obg!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts