이름 찾기만 제외 - Linux

이름 찾기만 제외 - Linux

hostsLinux 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*"

관련 정보