답변:
mdfind
Spotlight로 검색을 수행하기 위해이 명령을 사용할 수도 있습니다 . 자세한 내용은 여기를 참조하십시오 .
mdfind -name searchterm
이름을 가진 파일을 검색하기 위해 사용 합니다 searchterm
. mdfind searchterm
파일 이름 및 내용을 검색하는 데 사용 합니다.
특정 이름의 파일을 찾으려면 다음을 사용하십시오. find
맨 페이지는 여기에서 찾거나 man find
터미널 프롬프트에서 입력하여 찾을 수 있습니다 .
기본적으로 find는 지정한 파일 회의 기준을 재귀 적으로 찾습니다. 가장 쉬운 예 :
find . -name file_name -print
그러면 현재 디렉토리에서 시작하여 아래에서 "file_name"이라는 파일을 검색하고 해당 이름으로 파일을 인쇄합니다.
find ~ -name ".DS_Store" -delete
모든 .DS_Store 파일을 찾아 삭제합니다.
이름, 정규식, 날짜별로 검색 할 수 있습니다. -exec
술어를 사용하여 모든 Unix 방식으로 파일에 대해 작업 할 수 있습니다 .
find를보다 복잡한 작업 파이프 라인의 시작으로 사용할 수도 있습니다. 예:
find . -type f -print | egrep -i '\.m4a$|\.mp3$'
확장자가 .m4a 또는 .mp3 인 모든 파일을 찾습니다
find . -type f -print | egrep -i '\.m4a$|\.mp3$' | wc -l
그 파일 수를 알려줄 것입니다.
-print
유일한 조건이다, 그것은 생략 할 수 있습니다; 또한 간단한 globbing이 가능합니다. 따라서 .txt
디렉토리에서 모든 파일을 찾는 것은 다음과 같이 foo
수행됩니다.find foo -name \\*.txt
find .
IS를 재귀 적으로 입력 합니다. find .
루트 디렉토리에 입력 하십시오!
전체 폴더를 검색하려면 grep에서 -r을 사용하십시오.
grep -r pattern folder/to/search
find를 사용하면 xargs를 사용할 수도 있습니다.
find folder/to/search -name '*.txt' | xargs grep pattern
또는 한 번에 두 개의 파일을 검색하여 파일 이름을 지정했는지 확인하십시오.
find folder/to/search -name '*.txt' | xargs grep -n2 pattern
grep
패턴과 파일 스펙을 모두 예상합니다. 하나가 없으면 패턴으로 전달 된 것을 사용하고 표준 입력을 통해 데이터가 검색 될 때까지 기다립니다.
보다 복잡한 파일 스펙을 사용하려면을 사용하십시오 find
.
find ~ -name '*.txt' -exec grep -q 'secret' {} \; -print
-exec
술어 를 사용할 필요가 없습니다 find
.