불연속 키워드로 히스토리에서 검색 명령


13

명령의 처음 몇 글자를 몰라도 역사에서 명령을 검색하는 방법이 궁금합니다.

bash에서 Ctrl- R를 사용하여 검색 할 때 명령의 처음 몇 글자를 제공해야합니다. 중간에 문자가 있거나 일부는 시작 부분과 중간에 문자 만 있으면 어떻게됩니까?

예를 들어, 검색하는 cat myfile나는 단지이 알고, at거기에, 또는 c시작과 my중간 어딘가에. 키워드는 지속적으로 배치해야합니다. 예를 들어에서에서 cat myfile및를 모두 검색 c하고 my싶지만 Ctrl+R동시에 둘 다를 지정할 수는 없습니다.


2
Ctrl-R을 항상 사용하며 중간 텍스트를 자동으로 검색합니다. 멋진 것은 아니지만 귀하의 예에서는 입력 my만으로 충분합니다. RHEL4와 Cygwin이 확인되었습니다.
Aaron D. Marasco

@Tim : 실제로 시도하지 않았습니까? 이 때문에 않는 명령의 중간에 문자를 검색합니다.
alex

1
@alex : 실제로 계속 게재되지 않는 키워드를 말하고 싶었습니다. 예를 들어에서에서 및를 cat myfile모두 검색 c하고 my싶지만 Ctrl + R을 사용하여 둘 다를 동시에 지정할 수는 없습니다.
Tim

답변:


12

(메모리를 조깅하기 위해) 줄을 찾으려면 기억하는 명령의 일부를 grep 할 수 있습니다.

history | grep "substring"

2
내가 5 년 이상 * nix 시스템을 사용해 왔으며 history지금까지 명령 에 대해 몰랐던 것은 무엇 입니까? 감사!
GMA

8

Bash는 내가 볼 수있는 한 간단한 문자열 검색 만 가지고 있습니다.

히스토리 와일드 카드 검색이있는 zsh로 전환하십시오 . 기본적으로 키에 바인딩되지 않지만 다음 history-incremental-pattern-search-backwardhistory-incremental-pattern-search-forward같이 바인딩 할 수 있습니다.

bindkey '^X^R' history-incremental-pattern-search-backward
bindkey '^X^S' history-incremental-pattern-search-forward

그런 다음을 입력하십시오 Ctrl+X Ctrl+R ^c*my.


0

남자가 그 단어를 포함하고 있다면 Apropos (1)도 주제에 대한 남자를 반환해야합니다. Whatis (1)은 절대 일치 만 반환합니다.

참조 : Apropos == man -k Whatis == man -f

이 두 가지는 와일드 카드 * 및?와 함께 큰 도움이되어야합니다.


1
질문은 터미널 에서 명령 히스토리를 검색하는 것에 관한 것입니다 ... (맨 페이지를 검색하지 않음) ... 완전히 별도의 메모에서 답이 유용하다는 것을 알았습니다. +1 :)
Peter.O

.... 사랑스럽고, 그 한 배우자에 대한 나의 나쁜.
baweaver
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.