실행하면 파일 이름에 나타나는 파일이 locate syn
반환됩니다 .syn
전체 이름이 있는 파일을 검색하는 방법은 무엇입니까 syn
? locate --regex syn$
올바른 접근 방식 이지만 locate --regex ^syn$
그렇지 않습니까?
답변1
이 --regex
옵션은 파일 이름뿐만 아니라 전체 경로에 적용됩니다. 따라서 locate --regex syn$
경로(이름 포함)가 다음으로 끝나는 모든 파일과 디렉터리가 일치되지만, syn
전체 locate --regex syn$
경로가 다음과 syn
같고 해당 파일이 존재하지 않는 파일만 일치됩니다.
$ locate --regex ^etc$ ## returns nothing
$ locate --regex ^/etc$
/etc
당신이 찾고 있는 옵션은 다음과 같습니다 -b
:
-b, --basename
Match only the base name against the specified patterns. This
is the opposite of --wholename.
그러므로 당신은 할 수 있습니다
locate -b --regex ^sys$
locatedb
이름이 정확히 . 인 모든 파일과 폴더가 나열됩니다 sys
.