참고 항목 -F
(고정 문자열과 같은 정규 표현식에 반대) 및 -x
(: 전체 라인에 맞는 정확한) 옵션을.
grep -Fx user1@example.com text_file
다음과 같습니다.
grep '^user1@example\.com$' text_file
( .
모든 문자와 일치하는 정규식 연산자임을 기억하십시오 ).
-q
이러한 행이 있는지 확인하려는 경우이 옵션을 사용하십시오 .
grep -Fxq user1@example.com text_file &&
echo yes, that address is in that file.
검색 할 행과 파일 이름이 변수 인 경우 :
grep -Fxqe "$email" < "$file"
또는
grep -Fxq -- "$email" < "$file"
당신은 원하지 않습니다 :
grep -Fxq "$email" "$file"
로 시작 $email
하거나 $file
시작 하면 문제가 발생할 수 있습니다 -
.
파일이 (현재 로케일에서, 가급적이면 C
) 정렬되면 다음 comm
대신에 속도를 높일 수 있습니다 grep
.
printf '%s\n' user1@example.com | comm -12 - text_file
확인해야 할 이메일 주소가 여러 개인 경우 (예 : 다른 정렬 된 파일) 이점이 더 분명해집니다.
comm -12 text_file emails_to_check
다음보다 빠를 것입니다.
grep -Fxf emails_to_check text_file