기록의 마지막 명령에서 두 번째 인수에 액세스하는 방법은 무엇입니까? ” 라는 긴 표현을

정규식을 배우기 시작했기 때문에이 명령을 반복적으로 사용합니다.

grep pattern /usr/share/dict/american-english 

패턴이있는 부분 만 변경되므로 ” / usr / share / dict / american-english ” 라는 긴 표현을 반복 해서 써야 합니다.

누군가는 전체 표현 대신 암호 문자 조합을 입력하여 명령 기록에서 명령 인수를 확장 할 수 있다고 언급했습니다. 그 비밀스러운 문자 조합을 말해 줄 수 있습니까?



답변

당신은 사용할 수 있습니다 <M-.>(또는 <Esc>., 즉, 메타 점 (또는 <Esc>를 점), 메타 보통 Alt 키이고, 이전 명령의 마지막 인수를 기억하기 위해 메타 키가 다른 것에 사용되는 경우). 먼저

$ grep foo /usr/share/dict/american-english

그리고 다른 것을 위해 grep하고 싶다면

$ grep bar

공백을 입력 한 후 Esc.(즉, 먼저 이스케이프 키를 누른 다음 마침표 키를 누름) :

$ grep bar /usr/share/dict/american-english

다음 중 하나를 사용할 수도 있습니다.

$ grep bar !:2
$ grep bar !$

어디 !:2!$각각 평균 “두 번째 인자”와 “마지막 인수”.


답변

일반적으로 (Bash 포함) <Esc> N <Esc> .은 이전 명령에서 현재 명령 행으로 N 번째 인수를 호출합니다 (여기서 N은 0 기반 임).

마지막 명령의 두 번째 인수는 다음과 같습니다.

<Esc> 1 <Esc> .

세 번째 주장을 원한다면

<Esc> 2 <Esc> .

… 등등.

다른 사람들이 언급했듯이, 이전 명령 의 마지막 인수 를 원한다면 그에 대한 특정 바로 가기가 있습니다.

<Esc> .