역검색 기록에서 유사한 명령어 중 원하는 명령어로 좁힐 수 있는 가장 좋은 방법은 무엇인가요?

역검색 기록에서 유사한 명령어 중 원하는 명령어로 좁힐 수 있는 가장 좋은 방법은 무엇인가요?

몇 줄의 코드가 있는데 모두 비슷해 보입니다. 여기 몇 가지 예가 있어요

gmx trjconv -s md_0_10.tpr -f md_0_10.xtc -o md_0_10_center.xtc -center -pbc mol -ur compact
gmx trjconv -s md_0_10.tpr -f md_0_10_center.xtc -o start.pdb -dump 0
gmx trjconv -s md_0_10.tpr -f md_0_10_center.xtc -o md_0_10_fit.xtc -fit rot+trans
gmx trjconv -s md_0_11.tpr -f md_0_11.xtc -o md_0_11_center.xtc -center -pbc mol -ur compact
gmx trjconv -s md_0_11.tpr -f md_0_11_center.xtc -o start.pdb -dump 0
gmx trjconv -s md_0_11.tpr -f md_0_11_center.xtc -o md_0_11_fit.xtc -fit rot+trans
gmx trjconv -s md_0_12.tpr -f md_0_12.xtc -o md_0_12_center.xtc -center -pbc mol -ur compact
gmx trjconv -s md_0_12.tpr -f md_0_12_center.xtc -o start.pdb -dump 0
gmx trjconv -s md_0_12.tpr -f md_0_12_center.xtc -o md_0_12_fit.xtc -fit rot+trans

따라서 기본적으로 Control+를 사용하면 R유사한 행 모음으로 범위가 좁아집니다. 그러나 본질적으로 마지막 행으로 범위를 좁히려면 이러한 유사한 줄을 피해야 합니다. 몇 가지 팁을 생각 중이에요.

echo 10step1 | gmx trjconv -s md_0_10.tpr -f md_0_10.xtc -o md_0_10_center.xtc -center -pbc mol -ur compact
echo 10step2 | gmx trjconv -s md_0_10.tpr -f md_0_10_center.xtc -o start.pdb -dump 0
echo 10step3 | gmx trjconv -s md_0_10.tpr -f md_0_10_center.xtc -o md_0_10_fit.xtc -fit rot+trans
echo 11step1 | gmx trjconv -s md_0_11.tpr -f md_0_11.xtc -o md_0_11_center.xtc -center -pbc mol -ur compact
echo 11step2 | gmx trjconv -s md_0_11.tpr -f md_0_11_center.xtc -o start.pdb -dump 0
echo 11step3 | gmx trjconv -s md_0_11.tpr -f md_0_11_center.xtc -o md_0_11_fit.xtc -fit rot+trans
echo 12step1 | gmx trjconv -s md_0_12.tpr -f md_0_12.xtc -o md_0_12_center.xtc -center -pbc mol -ur compact
echo 12step2 | gmx trjconv -s md_0_12.tpr -f md_0_12_center.xtc -o start.pdb -dump 0
echo 12step3 | gmx trjconv -s md_0_12.tpr -f md_0_12_center.xtc -o md_0_12_fit.xtc -fit rot+trans

이 코드를 한 번 실행한 후. 코드를 다시 실행하려면 Control + R역방향 검색을 사용한 다음 문자열을 입력 10step1하거나12 step3

필요한 행을 빠르게 검색하고 좁힐 때 이 프로세스를 보다 효율적으로 만들 수 있는 다른 트릭이 있는지 묻고 싶습니다.

나 역시 비슷한 역사를 겪었다.검색 관련 질문다른 게시물에 있지만 일반적인 내용이며 유사한 코드 줄을 탐색하는 것을 다루지 않습니다.

답변1

Realine 프롬프트는앞으로 검색

또는 .bashrc에서 검색 기능을 정의할 수 있습니다.

function r {
   history | grep "$*" | head -5
}

답변2

위쪽 및 아래쪽 화살표가 다음 또는 이전 기록을 표시하는 대신 기록을 검색하도록 inputrc(.bashrc에 대해 정의할 수도 있음)를 설정했습니다. 이런 식으로 위쪽/아래쪽 화살표 명령은 FreeBSD의 기본 명령처럼 작동합니다.

이것은 inputrc 조각입니다:

# mappings for Up/Down arrow to search through history
"\e[A": history-search-backward
"\e[B": history-search-forward

구체적으로 수행되는 작업은 프롬프트에 다음을 입력하는 경우입니다.

echo 11

그런 다음 위쪽 화살표를 누르면 "echo 11"로 시작하는 명령 기록이 순환됩니다.

나에게 이것은 더 직관적이며 좁은 선택에 대해서만 명령의 시작 부분을 입력하고 기록을 순환할 수 있게 해줍니다.

줄 끝을 잘라내거나 한 번에 한 단어씩 잘라내기 위해 간단한 키 입력과 결합하면 위쪽/아래쪽 화살표 기록을 사용하여 매우 강력한 검색/탐색 옵션을 얻을 수 있습니다.

도움이 되었기를 바랍니다!

관련 정보