2013-12-09 6 views
3

퍼지 검색 디렉토리 이름에 가장 적합한/적절한 알고리즘은 무엇입니까? 퍼지 검색을 사용하여 디렉토리/파일 이름을 완성하는 bash 완성을 구현하고 싶습니다. 그러나 알고리즘은 일치시킬 문자열 세트에 의존하는 것으로 보입니다.퍼지 검색 디렉토리 이름에 가장 적합한 알고리즘

+0

그럼 문자열이 무엇입니까? 얼마나 많은 디렉토리를 검색해야합니까? 등. 제약 조건에 대해 무엇을 압니까? –

+0

@IvanVergiliev 현재 디렉토리의 모든 파일을 완성하고 싶습니다. – helpermethod

답변

1

음 ... 이것은 흥미로운 제안입니다. 나는 이런 식으로 뭔가를 할 것이다 :

첫째,

IFS='/' read -a filepath <<< '$string' 
dirname=${filepath[${#filepath[@] - 1]} 

다음으로, 현재 경로에있는 모든 즉각적인 하위 디렉토리를 얻을 수 find을 사용하여 마지막 슬래시 후 텍스트를 얻을 수있는 파일 경로를 분석하고 추가 그들을 bash 완료 옵션에 추가하십시오. 그러나

for i in 'find . -type d -maxdepth 1'; do 
    if [[ i =~ $dirname ]]; then 
    //add to bash completion option, unsure how to do this part 
    fi 
done 

in this answer을 설명 된대로 =~이 떠들썩한 전용 연산자주의, 퍼지 검색 대신에 =~ 연산자를 사용할 수 있습니다.