filtering zipcodes with bash or awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting filtering zipcodes with bash or awk
# 1  
Old 11-25-2006
filtering zipcodes with bash or awk

What is the best way to filter a 5 digit number from a string like this:

"84047-9920"

I need to remove the quotes, dash, and the four-digit zipcode. So far all I've found is gensub() which will remove a character at a time here, or sed, but am unable to get the regular expressions to work.

Thanks
# 2  
Old 11-25-2006
Try this:

$
$ fullzip="89047-9920"
$ zip=${fullzip%-+([0-9])}
$ echo zip = $zip
zip = 89047
$
# 3  
Old 11-25-2006
Code:
echo "12345-5678" | python -c "import sys; print sys.stdin.read().split('-')[0]"

output:
Code:
12345

# 4  
Old 11-26-2006
ah, thanks

Unfortunately the first one gives a syntax error in the bash script, but it works somewhat at command prompt (though it leaves the postcode).

python unfortunately isn't a command in my Unix server; I'm using FreeBSD 4.4

Smilie

Thanks though. This definitely gives some insight.
# 5  
Old 11-26-2006
How about this:
Code:
echo \"84047-9920\"|awk -F- '{print substr($1,2)}'

# 6  
Old 11-26-2006
Here is something that works with bash:
bash-3.00$ fullzip="89047-9920"
bash-3.00$ zip=${fullzip%-*}
bash-3.00$ echo zip = $zip
zip = 89047
bash-3.00$
# 7  
Old 11-26-2006
Hey Per, I think that the OP has the quotes (") as part of the input. It may be from some file.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk using sub , filtering textfile

i have text file as below CMF_COMP_ELEM_ GSM2_B71.WORLD_20121114130908.log 107496444 rows inserted into ALL_S1_CMF_COMP_ELEM. CMF_COMP_ELEM_ GSM3_B71.WORLD_20121114130908.log 110729006 rows inserted into ALL_S1_CMF_COMP_ELEM. CMF_COMP_ELEM_ GSM4_B71.WORLD_20121114130908.log 92549475... (8 Replies)
Discussion started by: only4satish
8 Replies

2. Shell Programming and Scripting

awk data filtering

I am trying to filter out some data with awk. If someone could help me that would be great. Below is my input file. Date: 10-JUN-12 12:00:00 B 0: 00 00 00 00 10 00 16 28 B 120: 00 00 00 39 53 32 86 29 Date: 10-JUN-12 12:00:10 B 0: 00 00 00 00 10 01 11 22 B 120: 00 00 00 29 23 32 16 29... (5 Replies)
Discussion started by: thibodc
5 Replies

3. Shell Programming and Scripting

filtering a numeric value which has '%' using awk

Hello Gurus, I have a requirement where I have to filter a value from some field which has 99% or greater than '99%'.. For ex: The Date (file -- sample.csv) will be like below Field1,Field2,Field3,Field4 860440512,844284992,16155520,99% 860440512,844284992,16155520,94%... (4 Replies)
Discussion started by: raghu.iv85
4 Replies

4. Shell Programming and Scripting

filtering awk not using grep

hallow all i have question about awk i want indexing last key (in BOLD number) ex: input.txt 1 252468812 52468812 1281268819 1252468812 1252468923 468812 1252468812 so output will like this output text 1:252468812 2:52468812 4:1252468812 6:468812 7:1252468812 output get... (8 Replies)
Discussion started by: zvtral
8 Replies

5. Shell Programming and Scripting

filtering with awk

i have question about awk ex: input.txt 1252468812,yahoo,3.5 1252468812,hotmail,2.4 1252468819,yahoo,1.2 msn,1252468812,8.9 1252468923,gmail,12 live,1252468812,3.4 yahoo,1252468812,9.0 1252468929,msn,1.2 output.txt 1252468812,yahoo,3.5 1252468812,hotmail,2.4 msn,1252468812,8.9... (3 Replies)
Discussion started by: zvtral
3 Replies

6. Shell Programming and Scripting

Filtering data using AWK

Hi , i have file with delimiter as "|" and data in Double codes for all fields. how to filter data in a column like awk -F"|" '$1="asdf" {print $0}' test. ex : "asdf"|"zxcv" Thanks, Soma (1 Reply)
Discussion started by: challamsomu
1 Replies

7. Shell Programming and Scripting

Filtering out text with awk

(0 Replies)
Discussion started by: nilekyle
0 Replies

8. Shell Programming and Scripting

awk filtering, then execution

Hi, I need to do the following but I don't know exactly what to do. I need to monitor a file ... with tail -f for example, but I know that I could do it with awk, wait for a specific string ... , then perform an action, call a script, etc. Let's say that my file name is test.txt , I need... (3 Replies)
Discussion started by: ocramas
3 Replies

9. Shell Programming and Scripting

awk and sed filtering

Goo afternoon Sir'sould like to ask your help reagrding in this scenario using sed and awk. ******************************************************** Host:CDRMSAPPS1 Operating System:Linux 2.6.9-42.ELsmp Machine Type:UNIX Host Type:Client Version:5.1... (2 Replies)
Discussion started by: invinzin21
2 Replies

10. UNIX for Advanced & Expert Users

awk filtering ?

I have a Ques. Regarding awk I have few strings in a file, like.. ABC DEF_ABC GHI_ABC GHI Now I want string which has only 'ABC', not the part of any other string as it is also present in 'DEF_ABC' Output should be ABC Please guide me asap !! Thanks :b: (4 Replies)
Discussion started by: varungupta
4 Replies
Login or Register to Ask a Question