bash one liner의 grep 기록에서 첫 번째 일치를 실행하는 방법

bash one liner의 grep 기록에서 첫 번째 일치를 실행하는 방법

명령에

history | grep vgh804

나는 다음과 같은 결과를 얻습니다.

   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

26번째 줄을 실행하고 싶습니다. 하지만 일반화되고 하나의 라이너인 솔루션을 원합니다.

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

나에게 준다

26

느낌표와 결합할 수 있는 방법이 있나요? 다음과 같은 것

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

그러나 파이프로 연결할 수 없기 때문에 작동하지 않습니다!

답변1

동일한 SSH 연결이 이루어진 경우에만 아래와 같이 사용할 수 있습니다.

$!ssh

또는

$!26

관련 정보