어떤 인수가 주어지면 해당 인수가 패턴으로 포함된 폴더를 찾는 별칭을 만들려고 합니다. 별칭을 호출해 보겠습니다 gohf
.
gohf <some-pattern>
이제 이 별칭 (예: ) 을 사용하겠습니다 gohf testing
. 이제 이름에 "testing"이 포함된 폴더를 찾고 마지막 단계에서 해당 폴더로 이동하게 됩니다.
내가 생각할 수 있는 것은 다음과 같다.
alias gohf='cd `find . -type d | grep testing`';
위의 별칭은 모드가 항상 "testing"일 때 유효합니다. 별칭이 say 로 사용되는 경우 gohf game
별칭이 이름에 게임이 있는 폴더로 이동하도록 하려면 어떻게 수정해야 합니까?
노트:
쉘: ksh
나는 입력하는 각 패턴에 대해 단 하나의 폴더만 있다고 가정합니다.
답변1
manatwork가 주석에서 말했듯이 인수를 더 잘 처리하려면 함수를 사용해야 합니다.
gohf(){
cd $(find . -type d -iname "$1" | sed 1q)
}
find
플래그를 사용하는 것과 동일한 작업을 수행하거나 결과를 파이프할 필요가 없습니다 . 그런 다음 첫 번째 "적중"(여러 개가 있는 경우)만 처리하도록 모든 것을 파이프합니다.grep
-name
-iname
sed
cd
여러 번의 "클릭"을 처리하려면 find
다음을 수행해야 합니다.
gohf(){
select dir in $(find . -name "$1" -type d)
do
cd $dir
break
done
}