전체 파일 이름으로 파일을 찾으시겠습니까?

전체 파일 이름으로 파일을 찾으시겠습니까?

실행하면 파일 이름에 나타나는 파일이 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.

관련 정보