찾기를 사용하여 파일 발생을 찾는 방법

찾기를 사용하여 파일 발생을 찾는 방법

내 시스템에는 Java가 여러 개 설치되어 있으며 일부는 IDE에 의해 자동으로 설치되어 있으며 그 위치를 알고 싶었습니다. 그래서 나는 locate그들을 찾는 데 사용하려고 생각했습니다 . 나의 첫 시도

locate java

수천 건의 조회수를 찾았습니다 .*java.*.

정확한 이름을 가진 파일만 찾도록 위치 찾기를 제한하는 방법이 있습니까? Java를 포함하는 경로가 아닙니다. 이름의 일부로 Java를 포함하는 파일이 아닙니다.

추신: 이전에도 비슷한 문제가 있었으므로 Java 부분을 무시하고 이를 파일 찾기 문제로 처리하십시오. 의 모든 발생을 찾는 문제일 수도 있습니다 gcc.

답변1

에서 man locate:

NAME이름이 정확히 (아님 *NAME*) 인 파일을 검색하려면
다음을 사용하세요 .locate -b '\NAME'

locate -b '\java'
  • -b- 지정된 패턴과 기본 이름만 일치시킵니다.

답변2

대부분의 locate구현에서는 다음과 같습니다.

locate '*/java'

작동해야합니다.

인수에 와일드카드가 포함되어 있지 않으면 인수는 파일 경로에서 검색할 문자열로 사용됩니다.

와일드카드가 포함된 경우 와일드카드는 전체 경로와 일치해야 합니다. 따라서 여기에는 /java.

답변3

find위치를 찾는 것이 더 좋은 방법일 수 있습니다.자바명명된 파일.

find . -type f -name *java*

여전히 찾기를 사용하고 싶다면 사용할 locate -b수 있습니다.

locate java | grep java$

관련 정보