안녕하세요. 5자리 우편번호가 포함된 파일이 있습니다.
grep을 사용하여 9부터 시작하는 우편번호를 인쇄하려고 하는데 4-7 사이의 숫자만 포함할 수 있습니다.
내가 사용하는 명령은
grep '[4-7], 9'$ zipcodesDataEntry.cvs
문제는 내가 받은 우편번호에 숫자 1 2 3 8이 포함되어 있다는 것입니다. 내 출력은 다음과 같아야 합니다.
95544
94554
94445
95567
그러나 다음과 같은 우편번호가 있습니다.
91121
92231
9가 아니고 4-7 범위에 있는 숫자를 제외하려고 합니다.
답변1
이 파일이 주어지면:
cat zipcodes
95544 94554 94445 92231 95567 91121
이 grep을 사용할 수 있습니다.
egrep -o '9[4-7]{4}' zipcodes
95544
94554
94445
95567
답변2
입력 파일 내용:
95544
94554
94445
95567
91121
92231
awk
(사용할 수 없는 경우 ) 사용하려면 egrep
다음과 같이 시도해 보세요.
awk '/9[4-7]{4}/' zip.txt
산출:
95544
94554
94445
95567
답변3
grep '^9.[4-7].*' 우편번호DataEntry.cvs
- ^ 비교되는 문자열의 시작
- .(마침표)는 모든 문자와 일치합니다.
- 별표, 0개 이상