다음 명령 +REGEX를 사용하여 카드 번호가 포함된 파일 집합의 모든 파일을 나열했습니다.
grep -r -l -e '[3-6]\d{3}([\ \-]?)\d{4}([\ \-]?)\d{4}([\ \-]?)\d{3,4}' *
나는 이 정규식을 다른 응용 프로그램에서 테스트했으며 성공했습니다.
답변1
일반 grep은 기본 정규식을 사용합니다. 귀하의 정규식은 -d
and를 사용 ?
하지만 {m,n}
인식되지 않습니다.
당신은 그것을 원 grep -E
하지만 그것을 인정하지 않을 수도 있습니다 \d
. 으로 변경되지 않은 경우[0-9]
grep -Erle '[3-6][0-9]{3}([ -]?)[0-9]{4}([ -]?)[0-9]{4}([ -]?)[0-9]{3,4}' *
또는 grep -P
Perl 호환 정규 표현식을 사용하세요.
인용하다:https://www.gnu.org/software/gnulib/manual/html_node/Regular-expression-syntaxes.html