bash script2023. 10. 17. 12:51

 

반달가면 이글루에서 백업 - 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
Posted by 반달가면