특정 단어가 포함 된 파일을 검색하는 방법은 무엇입니까?


37

특정 단어가 포함 된 파일을 검색하는 방법은 무엇입니까?


5
실제로 특정 단어가 포함 된 NAMES 검색 파일을 의미합니까? 즉, 이름에 FUN이라는 이름을 가진 모든 파일, FUN_time.txt FUN_stuff.txt 또는 특정 단어를 찾기 위해 파일 내부를 검색 하시겠습니까?
dr_willis

답변:


51

명령 행에는 몇 가지 옵션이 있습니다. 내가 가장 많이 사용하는 3 개는 ...

  1. locate {part_of_word}

    이는 locate-database가 최신 상태라고 가정하지만 다음을 사용하여 수동으로 업데이트 할 수 있습니다. sudo updatedb

  2. grepdr_willis에서 설명한대로. 한 가지 언급 : 디렉토리 내에서 검색 -R한 후 grep. 예:

    cd\
    grep -R {something_to_look_for} {where_to_look_in}
    
  3. find . -name '*{part_of_word}*' -print

어디 .당신이 지금하고있는 디렉토리입니다 *와일드 카드입니다.

아 그리고 이것들을 결합 할 수도 있습니다. 예: locate {something}|grep {some_part_of_something}|more

내가 올바르게 기억한다면 : locate데이터베이스가 최신이라고 가정하고 가장 빠르며 find가장 느립니다. 그리고 grep정규식을 사용할 수 있기 때문에 가장 복잡하지만 가장 다재다능합니다.



4

grep 명령이 일반적으로 사용됩니다.

grep 패턴 파일 이름

grep은 매우 복잡한 검색을 수행 할 수 있습니다.

willis@Cow:~$ grep --help
Usage: grep [OPTION]... PATTERN [FILE]...
Search for PATTERN in each FILE or standard input.
PATTERN is, by default, a basic regular expression (BRE).
Example: grep -i 'hello world' menu.h main.c

3
또는 "rgrep word"를 수행 할 수 있습니다. 재귀 적 "단어"에 대한 모든 파일 및 하위 디렉토리를 검색합니다
제레미 Bicha

4

주어진 grep파일에 포함 word된 파일을 나열하는 데 사용할 수 있습니다 directory.

grep -Ril word directory

여기에서 :
* -R하위 디렉토리에서 파일을 재귀 적으로 검색합니다.
* -i텍스트 대소 문자 무시
* -l파일 내용 부분 대신 파일 이름 표시. (참고 : -L단어를 포함하지 않는 파일 이름을 보여줍니다).

man grep모든 옵션을 얻는 데 사용


3
그냥 당신이 알 수 있도록 : -i수행 소문자를 구분하지 검색.
David Foerster
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.