파일에서 전화번호를 찾는 Grep

파일에서 전화번호를 찾는 Grep

각 파일이 숫자로 대체되는 /etc패턴을 사용하여 작성된 표준 미국 장거리 전화 번호가 포함된 디렉터리(하위 디렉터리 제외)에서 파일을 어떻게 찾을 수 있습니까 ? 이 숫자 패턴을 포함하는 디렉토리의 모든 파일 이름을 수집 하고 절대 참조를 사용하여 알파벳순으로 정렬하여 한 줄에 하나의 파일 이름 으로 file 에 넣습니다 .1-###-###-#####/etc~/etcphone.txt

이것이 내가 지금까지 가지고 있는 것입니다

egrep -l "1-[[:digit:]]{3}- " /etc/* 2>/dev/null 

답변1

$ egrep -l "\b1-[[:digit:]]{3}-[[:digit:]]{3}-[[:digit:]]{4}\b" \
    /etc/* 2>/dev/null | sort > ~/etcphone.txt

이스케이프 \b시퀀스는 단어 경계와 일치합니다. 이렇게 하면 일치하는 것을 방지할 수 있습니다 1231-123-123-1234.

답변2

egrep -l "1(-[[:digit:]]{3}){3}[[:digit:]]" /etc/* 2>/dev/null

답변3

find /etc | xargs -I{} grep -l ‘1-[0-9]\{3\}-[0-9]\{3\}-[0-9]\{4\}’ {} | sort -nr > ~/etcphone.txt

답변4

cat filename.txt | grep '^[789][0-9]{9}'

이 순서는 7,8 또는 9로 시작하는 10자리 인도 휴대폰 번호에만 적용됩니다.

관련 정보