안녕하세요. 우편번호가 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
(incase not available)을 사용하면 egrep
다음과 같이 시도해 볼 수 있습니다.
awk '/9[4-7]{4}/' zip.txt
출력:
95544
94554
94445
95567
답변3
grep '^9.[4-7].*' 우편번호DataEntry.cvs
- ^ 비교되는 문자열의 시작 부분
- . (마침표)는 모든 문자와 일치합니다.
- 별표, 0개 이상