내 시스템에 여러 개의 Java 설치가 있고 일부는 IDE에 의해 자동으로 설치되었으며 해당 Java가 어디에 있는지 알고 싶습니다. 그래서 나는 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$