내 시스템에는 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$