您好,我有一个包含 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
鉴于此 infile:
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].*' zipcodesDataEntry.cvs
- ^ 正在比较的字符串的开头
- .(句点)匹配任意字符
- 星号,零个或多个