hosts
Linux PC에 지정된 모든 파일을 원격으로 찾으려고 합니다. 문제는 ghostscript
상위 디렉토리 이름 중 하나 또는 디렉토리 이름의 일부로 거의 수천 개의 파일이 있으므로 해당 디렉토리를 모두 반환한다는 것입니다. 타겟팅 hosts
하되 제외하는 방법이 있나요 ghosts
?
답변1
출력을 grep -v 명령으로 파이프하여 Ghostscript를 제외할 수 있습니다.
| grep -v "ghostscript"
답변2
이렇게 하면 ( 일치할 수도 있는 경우) locate hosts
했던 것과 같으 므로 더 많이 일치하게 됩니다. 이를 재정의하려면 하나 이상의 전역 문자를 명시적으로 제공해야 하므로 다음을 사용하십시오.locate '*hosts*'
*
/
locate '*/hosts'
hosts
끝에 호스트가 있는 파일 을 원하면 를 사용하십시오 *hosts
. 중간에 호스트가 있는 파일을 원하면 찾기 버전에 따라 다릅니다. ~처럼강철 드라이버mlocate는 -b
기본 이름에만 패턴을 적용해야 하므로 다음을 수행할 수 있습니다.
locate -b '*hosts*'
GNU 타겟팅을 사용하면 정규식을 사용할 수 있습니다.
locate -r '[^/]*hosts[^/]*$'
답변3
사용
find /path/to/directory/ -type f -name "hosts" -not -path "*ghostscript*"