반달가면 이글루에서 백업 - http://bahndal.egloos.com/658676
리눅스의 grep 명령은 기본적으로 일치하는 문자열을 모두 검색해서 찾아준다.
# my_data.txt에 문자열 "abc"가 있는지 확인
grep "abc" my_data.txt
만약 모두 찾을 필요 없이 일치하는 문자열이 있는지 여부만 중요하다면, 일치하는 문자열을 하나만 찾으면 해당 파일을 더 이상 읽지 않고 종료할 수 있다. 최대 몇개까지 일치하는 경우를 찾을 것인지를 지정하는 -m 옵션을 사용하면 된다. 예를 들어 "-m 1"로 지정하면 일치하는 경우를 하나만 찾으면 종료한다.
# my_data.txt에 문자열 "abc"가 있는지 확인하고, 첫번째로 일치하는 문자열을 찾으면 종료
grep -m 1 "abc" my_data.txt
크기가 큰 파일에서 특정 문자열이 몇 번 나오는지는 중요하지 않고 있는지 없는지만 판단해야 된다면 굳이 파일 전체를 읽을 필요가 없이 첫번째 일치하는 문자열이 나오면 곧바로 종료하면 시간을 절약할 수 있다.
728x90
'bash script' 카테고리의 다른 글
리눅스 bash에서 문자열의 특정 범위만 떼어 내기(substring 만들기) (0) | 2023.11.15 |
---|---|
리눅스 bash 스크립트에서 배열/연관배열 초기화 (0) | 2023.10.17 |
[bash: head, tail] 처음 n개의 행, 마지막 n개의 행, 또는 이를 제외한 나머지 출력 (1) | 2023.10.17 |
[bash: date] UTC(GMT) 기준 시간을 로컬(한국) 시간으로 변환 (0) | 2023.10.17 |
[bash: bc, if] 실수(부동소수점) 수자의 크기 비교 (0) | 2023.10.17 |