저는 신진 컴퓨터 과학 학생이고 스포트라이트와 비교하여 Mac에서 grep을 사용하면 어떤 이점이 있는지 궁금합니다. 특정 파일이 어디에 있는지 모르기 때문에 특정 파일을 검색하는 명령을 실행했는데 시간이 좀 걸렸지만 스포트라이트에서 검색했을 때 결과는 즉각적으로 나타났습니다. 저는 명령줄을 사용하는 것을 좋아합니다. Mac의 UI 카탈로그 보기보다 내 삶이 훨씬 단순해지기 때문에 명령줄을 최대한 활용하는 방법을 배우고 싶습니다.
답변1
빠른 비교
반복
grep
일반적으로 파일 내용에서 일치하는 패턴을 검색합니다. 파일 내용을 검색해 보세요. grep
파일 시스템은 지정된 시작 지점에서 수동으로 이동해야 합니다.
어떻게 사용하시는지 궁금합니다 grep
.
find
파일 시스템에서 파일을 검색하는 데 사용되는 표준 *nix 명령입니다. 매뉴얼 페이지를 확인해 보세요. 이를 사용하는 방법은 다양합니다. 그러나 기본적으로 주어진 시작점에서 파일 시스템을 탐색하여 일치하는 항목을 찾습니다.
색인
spotlight
검색을 위한 OSX 유틸리티입니다.색인파일 목록. spotlight
인덱싱에 의존하므로 파일 시스템을 수동으로 반복할 필요가 없으므로 매우 빠른 조회가 가능합니다. 일반적으로 작업자 스레드는 인덱스를 구축하기 위해 이 작업을 수행합니다.
Spotlight의 단점은 파일이 아직 색인화되지 않은 경우 파일이 존재하더라도 Spotlight가 해당 파일을 찾지 못한다는 것입니다. 그러나 디렉토리가 이미 색인화되어 있으면 Spotlight의 성능이 좋습니다.
다른 사람
예를 들어 개발 프로젝트에서 파일 내용을 검색해야 하고 버전 제어를 사용하는 경우ag
은을 찾는 사람더 빠른 대안입니다 grep
. 버전 제어 시나리오에 적합하며 무시된 파일 형식 목록을 따라 패턴이 포함된 파일을 찾습니다.
답변2
가능한 해결책으로 OS X에는 locate
색인을 활용하여 파일을 찾는 명령도 있습니다. 이는 아마도 스포트라이트에서 볼 수 있는 것과 동일한 검색 성능을 cli에서 볼 수 있는 가장 좋은 방법일 것입니다. 데이터베이스를 설정하려면 다음 명령을 실행해야 합니다.
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
데이터베이스를 생성한 후 다음을 사용할 수 있습니다.
locate <file>