Sponsored Content
Top Forums Shell Programming and Scripting Find zipcode with Grep with optional space in middle Post 302456766 by leonmerc on Saturday 25th of September 2010 09:41:30 PM
Old 09-25-2010
Bug Find zipcode with Grep with optional space in middle

Hello everyone. I am new to unix, nice to meet you all.
I have a small problem with a question.
I have to write a command that finds all the postal codes in a txt file. All postal codes will begin on its own line in the txt file.
This is the formal of postal code: "A#A#A#" or "A#A #A#"
A being a letter and # being a number. Letters D F I O Q and U are restricted.
My problem is how to reconize the optional space in the middle. Here is what I have so far:
grep "^[WERTYPASGHJKLZXCVBNM][1-9][WERTYPASGHJKLZXCVBNM]{1-9,:space:1-9}[WERTYPASGHJKLZXCVBNM][1-9]" address.txt

The red part being the wrong part, could anyone help? thank you so much.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep with wildcard in middle of word

How can grep G.*schema give me the result: ${Gacntg_dt}""'"' doesn't G.*schema say give me an unlimited number of characters between G and schema? :confused: (3 Replies)
Discussion started by: danmauer
3 Replies

2. UNIX for Dummies Questions & Answers

Is it possible to grep with a newline in the middle of an expression?

I'm hoping that there is a way to do this. I'm sure I won't be able to get the answer I need on the deadline I need it...but at least I'll learn how to solve this problem. I have a file that looks like this: (00:14:25\$ head -27 QNHDSPACEDVR Name: PollDhctAVFSInfo 00:0F:21:4B:00:6A Name:... (2 Replies)
Discussion started by: DeCoTwc
2 Replies

3. Shell Programming and Scripting

grep with regular expression optional value

field 12345 12345 field 12345 field 12345 123456 last fleld (from three) is optional, but if it occures It has to be composed only of nummbers and maximum 5 positions long. If I use: grep "^field \{5\}" I get: field 12345 12345 field 12345 field 12345 123456 But I wont... (11 Replies)
Discussion started by: necroman08
11 Replies

4. Shell Programming and Scripting

How to grep space?

Hi, I want to know how to grep space. Eg: input file contains 1565432 432 546 3514432 432 545 6541332 432 354 5464412 565 355 8456145 546 534 5632465 432 654 From this i need output of the lines which has 432 which are bold. My requirement is whenever 432 comes... (3 Replies)
Discussion started by: rakeshbharadwaj
3 Replies

5. Shell Programming and Scripting

grep middle word between two patterns

Hi, I'm currently working on a shell script to automate a backup check on oracle database. My requirement is to grep the words between two delimiters and pass on to a variable.. for ex I have following values in my log file... (DB_NAME), (163.24 25), (16/02/10 23:40), (COMPLETED), I want... (5 Replies)
Discussion started by: senthil3d
5 Replies

6. UNIX for Dummies Questions & Answers

grep until a space

This is probably common knowledge, but I am a beginner at bioinformatics! I want a list of my sequence names, without sequence or any of the free text after the space. This is some example file: >cow|68989024|dbj|AB107582.1| Uncultured bacterium gene for 16S rRNA, partial se quence, clone:... (7 Replies)
Discussion started by: kkohl78
7 Replies

7. Shell Programming and Scripting

Find the middle character from a string using sed

Input: qwertmyuiop It should print "m". What's the command to do this with sed? (6 Replies)
Discussion started by: cola
6 Replies

8. Shell Programming and Scripting

How to use grep & find command to find references to a particular file

Hi all , I'm new to unix I have a checked project , there exists a file called xxx.config . now my task is to find all the files in the checked out project which references to this xxx.config file. how do i use grep or find command . (2 Replies)
Discussion started by: Gangam
2 Replies

9. Shell Programming and Scripting

Zipcode + 4 change to Zipcode

I'm doing some integrity checeking. I Have found if the file contains an "invalid" entry (Zipcode +4). What I'm looking to do is modify the data so that it's just the 5 digit zipcode. I found a couple of helpful posts, but nothing that I could apply to my situation. Here's a sample input (note... (6 Replies)
Discussion started by: defjab
6 Replies

10. UNIX for Dummies Questions & Answers

To find and display the middle line in a file using single line command.

Hi all, How can i display the middle line of a file using a single line command? (6 Replies)
Discussion started by: Lakme Pemmaiah
6 Replies
Regexp::Common::zip(3pm)				User Contributed Perl Documentation				  Regexp::Common::zip(3pm)

NAME
Regexp::Common::zip -- provide regexes for postal codes. SYNOPSIS
use Regexp::Common qw /zip/; while (<>) { /^$RE{zip}{Netherlands}$/ and print "Dutch postal code "; } DESCRIPTION
Please consult the manual of Regexp::Common for a general description of the works of this interface. Do not use this module directly, but load it via Regexp::Common. This module offers patterns for zip or postal codes of many different countries. They all have the form "$RE{zip}{Country}[{options}]". The following common options are used: "{-prefix=[yes|no|allow]}" and "{-country=PAT}". Postal codes can be prefixed with a country abbreviation. That is, a dutch postal code of 1234 AB can also be written as NL-1234 AB. By default, all the patterns will allow the prefixes. But this can be changed with the "-prefix" option. With "-prefix=yes", the returned pattern requires a country prefix, while "-prefix=no" disallows a prefix. Any argument that doesn't start with a "y" or a "n" allows a country prefix, but doesn't require them. The prefixes used are, unfortunally, not always the same. Officially, ISO country codes need to be used, but the usage of CEPT codes (the same ones as used on cars) is common too. By default, each postal code will recognize a country prefix that's either the ISO standard or the CEPT code. That is, German postal codes may prefixed with either "DE" or "D". The recognized prefix can be changed with the "-country" option, which takes a (sub)pattern as argument. The arguments "iso" and "cept" are special, and indicate the language prefix should be the ISO country code, or the CEPT code. Examples: /$RE{zip}{Netherlands}/; # Matches '1234 AB' and 'NL-1234 AB'. /$RE{zip}{Netherlands}{-prefix => 'no'}/; # Matches '1234 AB' but not 'NL-1234 AB'. /$RE{zip}{Netherlands}{-prefix => 'yes'}/; # Matches 'NL-1234 AB' but not '1234 AB'. /$RE{zip}{Germany}/; # Matches 'DE-12345' and 'D-12345'. /$RE{zip}{Germany}{-country => 'iso'}/; # Matches 'DE-12345' but not 'D-12345'. /$RE{zip}{Germany}{-country => 'cept'}/; # Matches 'D-12345' but not 'DE-12345'. /$RE{zip}{Germany}{-country => 'GER'}/; # Matches 'GER-12345'. "{-sep=PAT}" Some countries have postal codes that consist of two parts. Typically there is an official way of separating those parts; but in practise people tend to use different separators. For instance, if the official way to separate parts is to use a space, it happens that the space is left off. The "-sep" option can be given a pattern as argument which indicates what to use as a separator between the parts. Examples: /$RE{zip}{Netherlands}/; # Matches '1234 AB' but not '1234AB'. /$RE{zip}{Netherlands}{-sep => 's*'}/; # Matches '1234 AB' and '1234AB'. $RE{zip}{Australia} Returns a pattern that recognizes Australian postal codes. Australian postal codes consist of four digits; the first two digits, which range from '10' to '97', indicate the state. Territories use '02' or '08' as starting digits; the leading zero is optional. '0909' is the only postal code starting with '09' (the leading zero is optional here as well) - this is the postal code for the Nothern Territory University). The (optional) country prefixes are AU (ISO country code) and AUS (CEPT code). Regexp::Common 2.107 and before used $RE{zip}{Australia}. This is still supported. If "{-keep}" is used, the following variables will be set: $1 The entire postal code. $2 The country code prefix. $3 The postal code without the country prefix. $4 The state or territory. $5 The last two digits. $RE{zip}{Belgium} Returns a pattern than recognizes Belgian postal codes. Belgian postal codes consist of 4 digits, of which the first indicates the province. The (optional) country prefixes are BE (ISO country code) and B (CEPT code). If "{-keep}" is used, the following variables will be set: $1 The entire postal code. $2 The country code prefix. $3 The postal code without the country prefix. $4 The digit indicating the province. $5 The last three digits of the postal code. $RE{zip}{Denmark} Returns a pattern that recognizes Danish postal codes. Danish postal codes consist of four numbers; the first digit (which cannot be 0), indicates the distribution region, the second the distribution district. The (optional) country prefix is DK, which is both the ISO country code and the CEPT code. If "{-keep}" is used, the following variables will be set: $1 The entire postal code. $2 The country code prefix. $3 The postal code without the country prefix. $4 The digit indicating the distribution region. $5 The digit indicating the distribution district. $6 The last two digits of the postal code. $RE{zip}{France} Returns a pattern that recognizes French postal codes. French postal codes consist of five numbers; the first two numbers, which range from '01' to '98', indicate the department. The (optional) country prefixes are FR (ISO country code) and F (CEPT code). Regexp::Common 2.107 and before used $RE{zip}{French}. This is still supported. If "{-keep}" is used, the following variables will be set: $1 The entire postal code. $2 The country code prefix. $3 The postal code without the country prefix. $4 The department. $5 The last three digits. $RE{zip}{Germany} Returns a pattern that recognizes German postal codes. German postal codes consist of five numbers; the first number indicating the distribution zone, the second the distribution region, while the latter three indicate the distribution district and the postal town. The (optional) country prefixes are DE (ISO country code) and D (CEPT code). Regexp::Common 2.107 and before used $RE{zip}{German}. This is still supported. If "{-keep}" is used, the following variables will be set: $1 The entire postal code. $2 The country code prefix. $3 The postal code without the country prefix. $4 The distribution zone. $5 The distribution region. $6 The distribution district and postal town. $RE{zip}{Greenland} Returns a pattern that recognizes postal codes from Greenland. Greenland, being part of Denmark, uses Danish postal codes. All postal codes of Greenland start with 39. The (optional) country prefix is DK, which is both the ISO country code and the CEPT code. If "{-keep}" is used, the following variables will be set: $1 The entire postal code. $2 The country code prefix. $3 The postal code without the country prefix. $4 39, being the distribution region and distribution district for Greenland. $5 The last two digits of the postal code. $RE{zip}{Italy} Returns a pattern recognizing Italian postal codes. Italian postal codes consist of 5 digits. The first digit indicates the region, the second the province. The third digit is odd for province capitals, and even for the province itself. The fourth digit indicates the route, and the fifth a place on the route (0 for small places, alphabetically for the rest). The country prefix is either IT (the ISO country code), or I (the CEPT code). If "{-keep}" is used, the following variables will be set: $1 The entire postal code. $2 The country code prefix. $3 The postal code without the country prefix. $4 The region. $5 The province. $6 Capital or province. $7 The route. $8 The place on the route. $RE{zip}{Netherlands} Returns a pattern that recognizes Dutch postal codes. Dutch postal codes consist of 4 digits and 2 letters, separated by a space. The separator can be changed using the "{-sep}" option, as discussed above. The (optional) country prefix is NL, which is both the ISO country code and the CEPT code. Regexp::Common 2.107 and earlier used $RE{zip}{Dutch}. This is still supported. If "{-keep}" is used, the following variables will be set: $1 The entire postal code. $2 The country code prefix. $3 The postal code without the country prefix. $4 The digits part of the postal code. $5 The separator between the digits and the letters. $6 The letters part of the postal code. $RE{zip}{Norway} Returns a pattern that recognizes Norwegian postal codes. Norwegian postal codes consist of four digits. The country prefix is either NO (the ISO country code), or N (the CEPT code). If "{-keep}" is used, the following variables will be set: $1 The entire postal code. $2 The country code prefix. $3 The postal code without the country prefix. $RE{zip}{Spain} Returns a pattern that recognizes Spanish postal codes. Spanish postal codes consist of 5 digits. The first 2 indicate one of Spains fifties provinces (in alphabetical order), starting with 00. The third digit indicates a main city or the main delivery rounds. The last two digits are the delivery area, secondary delivery route or a link to rural areas. The country prefix is either ES (the ISO country code), or E (the CEPT code). If "{-keep}" is used, the following variables will be set: $1 The entire postal code. $2 The country code prefix. $3 The postal code without the country prefix. $4 The two digits indicating the province. $5 The digit indicating the main city or main delivery route. $6 The digits indicating the delivery area, secondary delivery route or a link to rural areas. $RE{zip}{Switzerland} Returns a pattern that recognizes Swiss postal codes. Swiss postal codes consist of 4 digits. The first indicates the district, starting with 1. The second indicates the area, the third, the route, and the fourth the post office number. $RE{zip}{US}{-extended => [yes|no|allow]} Returns a pattern that recognizes US zip codes. US zip codes consist of 5 digits, with an optional 4 digit extension. By default, extensions are allowed, but not required. This can be influenced by the "-extended" option. If its argument starts with a "y", extensions are required; if the argument starts with a "n", extensions will not be recognized. If an extension is used, a dash is used to separate the main part from the extension, but this can be changed with the "-sep" option. The country prefix is either US (the ISO country code), or USA (the CEPT code). If "{-keep}" is being used, the following variables will be set: $1 The entire postal code. $2 The country code prefix. $3 The postal code without the country prefix. $4 The first 5 digits of the postal code. $5 The first three digits of the postal code, indicating a sectional center or a large city. New in Regexp::Common 2.119. $6 The last 2 digits of the 5 digit part of the postal code, indicating a post office facility or delivery area. New in Regexp::Common 2.119. $7 The separator between the 5 digit part and the 4 digit part. Up to Regexp::Common 2.118, this used to be $5. $8 The 4 digit part of the postal code (if any). Up to Regexp::Common 2.118, this used to be $6. $9 The first two digits of the 4 digit part of the postal code, indicating a sector, or several blocks. New in Regexp::Common 2.119. $10 The last two digits of the 4 digit part of the postal code, indicating a segment or one side of a street. New in Regexp::Common 2.119. You need at least version 5.005_03 to be able to use US postal codes. Older versions contain a bug that let the pattern match invalid US postal codes. Questions o Can the 5 digit part of the zip code (in theory) start with 000? o Can the 5 digit part of the zip code (in theory) end with 00? o Can the 4 digit part of the zip code (in theory) start with 00? o Can the 4 digit part of the zip code (in theory) end with 00? SEE ALSO
Regexp::Common for a general description of how to use this interface. <http://www.columbia.edu/kermit/postal.html> Frank's compulsive guide to postal addresses. <http://www.upu.int/post_code/en/addressing_formats_guide.shtml> Postal addressing systems. http://www.uni-koeln.de/~arcd2/33e.htm <http://www.uni-koeln.de/~arcd2/33e.htm> Postal code information. <http://www.grcdi.nl/linkspc.htm> Links to Postcode Pages. <http://www1.auspost.com.au/postcodes/> Information about Australian postal codes. http://hdusps.esecurecare.net/cgi-bin/hdusps.cfg/php/enduser/std_adp.php?p_faqid=1014 <http://hdusps.esecurecare.net/cgi- bin/hdusps.cfg/php/enduser/std_adp.php?p_faqid=1014> Information about US postal codes. <http://en.wikipedia.org/wiki/Postal_code> AUTHORS
Damian Conway (damian@conway.org) and Abigail (regexp-common@abigail.be). MAINTAINANCE
This package is maintained by Abigail (regexp-common@abigail.be). BUGS AND IRRITATIONS
Zip codes for most countries are missing. Send them in to regexp-common@abigail.be. LICENSE and COPYRIGHT This software is Copyright (c) 2001 - 2009, Damian Conway and Abigail. This module is free software, and maybe used under any of the following licenses: 1) The Perl Artistic License. See the file COPYRIGHT.AL. 2) The Perl Artistic License 2.0. See the file COPYRIGHT.AL2. 3) The BSD Licence. See the file COPYRIGHT.BSD. 4) The MIT Licence. See the file COPYRIGHT.MIT. perl v5.14.2 2010-02-23 Regexp::Common::zip(3pm)
All times are GMT -4. The time now is 02:52 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy