Como executar a primeira partida de um grep do histórico no bash one liner

Como executar a primeira partida de um grep do histórico no bash one liner

No comando

history | grep vgh804

Eu obtenho o seguinte resultado.

   26  ssh -l vgh804 ssh-blah-blah
   29  ssh -l vgh804 ssh-blah-blah
   30  ssh -l vgh804 ssh-blah-blah
  103  ssh -l vgh804 ssh-blah-blah
  501  history | grep vgh804

Quero executar a linha 26. Mas quero uma solução que generalize e seja de uma linha.

var=$(history | grep vgh804 | head -n1 | awk {'print $1'}) && echo $var

Me dá

26

Existe alguma maneira de combinar isso com o ponto de exclamação. Algo como

history | grep vgh804 | head -n1 | awk {'print $1'} | !

No entanto, isso não funciona porque não consigo canalizar!

Responder1

Você pode usar o seguinte apenas se a mesma conexão ssh for feita:

$!ssh

OU

$!26

informação relacionada