여러 대체 항목을 사용하여 이전 명령을 실행합니다.

여러 대체 항목을 사용하여 이전 명령을 실행합니다.

많은 분들이 해당 명령을 알고 계시 ^foo^bar^거나 !:gs/foo/bar이전 명령을 실행하는 것이 유용할 수 있습니다. "foo" 패턴을 "bar" 패턴으로 바꾸시면 됩니다.

ls *.jpg | grep photo하지만 예를 들어 너무 복잡한 패턴 일치 없이 "jpg" 및 "photo"라는 단어를 바꾸는 등 이전 명령에서 여러 패턴을 바꿀 수 있는 방법이 있습니까 !:gs/jpg\(.*\)photo/png\1foto?

답변1

다음을 수행할 수 있습니다.

!!:s/jpg/png/:s/photo/picture/

답변2

이는 예제 명령을 다시 입력하는 것보다 짧지 않지만 다른 방향으로 입력하여 원하는 부분만 불러올 수 있습니다(여기 ls| grep, 그리고 대체 항목을 입력:

$ ls *.jpg | grep photo
$ !:0 *.png !:2-3 picture

결과 :

ls *.png 이미지 |

관련 정보