我必须使用 grep 从文本文件中找出 8 个邮政编码,每个邮政编码的字符顺序如下: 1. 大写字母 2. 数字 3. 大写字母 4. 空格(可选) 5. 数字 6. 大写字母7. 数字
我使用了 grep 命令:
grep '[A-Z][0-9][A-Z][0-9+[][0-9][A-Z][0-9]'
这给了我 5 个在字符 4 处有空格的邮政编码
我也使用过这个 grep 命令:
grep '[A-Z][0-9][A-Z][0-9\.][A-Z][0-9]'
这给了我最后 3 个邮政编码,字符 4 处没有空格。
我不知道如何编写一个命令,指出空格可以是可选的。谢谢
ERE 量词?
表示出现零次或一次。所以
grep -E '[A-Z][0-9][A-Z] ?[0-9][A-Z][0-9]'
如果要允许零个或多个空格,请更改?
为*
. 要允许制表符和空格,您可以使用[ \t]?
, [[:blank:]]?
, 或 (在 GNU grep 中)\s?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句