awk regex problem


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk regex problem
# 1  
Old 06-03-2011
awk regex problem

hi everyone

suppose my input file is
Code:
 
ABC-12345
ABCD-12345
BCD-123456

i want to search the specific pattern which looks like
Code:
[A-Z][A-Z][A-Z]-[0-9][0-9][0-9][0-9][0-9]

in a file so i used this command
Code:
cat $file | awk ' { if ($0 ~ /[A-Z][A-Z][A-Z]-[0-9][0-9][0-9][0-9][0-9]/) { print } }'

so it gives me the result as
Code:
 
ABCD-12345
BCD-12345
BCD-12345


but this is not correct i want the exact string from this
so output should be only
Code:
BCD-12345

please help me in this
# 2  
Old 06-03-2011
Code:
grep "^[A-Z]\{3\}\-[0-9]\{5\}" filename

# 3  
Old 06-03-2011
hi thanks
for reply

but can u please tell me the solution in awk because i have to implement it from awk only .. because output from many command is fed to that ( proposed awk command)
# 4  
Old 06-03-2011
Code:
awk ' /^[A-Z]\{3\}\-[0-9]\{5\}/ {print}' filename

# 5  
Old 06-03-2011
Code:
nawk '$0~/^[A-Z][A-Z][A-Z]-[0-9][0-9][0-9][0-9][0-9]$/' inputfile
ABC-12345

Thanks
SHa
# 6  
Old 06-03-2011
hi thanks all of u for ur reply

can u please tell why the below code is failing

Code:
echo ABCD-12345 | grep '[^A-Z][A-Z]\{4\}-[0-9]\{5\}'


and it returns nothing
# 7  
Old 06-03-2011
It is expecting 1+4 characters and followed by hypen(-) and 5 numbers

[^A-Z][A-Z]\{4\}
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl Regex problem

Script logs into switches on my list but nothing seems to happen. Following error: tr nope, doesn't (yet) match (?-xism:-]+ ?(?:\(config*\))? ? ?$) du SEEN: Here is code in question: @version_info = $session_obj->cmd('term length 0'); $session_obj->cmd('show int | i... (5 Replies)
Discussion started by: mrlayance
5 Replies

2. Programming

Regex problem

Hi, I am looking for regex to extract following words from text: The word which comes after "Replaced" means Replaced disk Replaced floppy Replaced memory Please suggest the regex for it. Thanks! (4 Replies)
Discussion started by: gunjanamit
4 Replies

3. UNIX for Advanced & Expert Users

Sed regex problem

Hi, I tried to extract the time from `date` with sed. (I know it works with `date +%H:%M:%S` as well) I got three solutions of which just one worked. I thought "+" should repeat the previous expression 1 or more times and {n} should repeat the previous expression n times. $ date Thu... (9 Replies)
Discussion started by: thiuda
9 Replies

4. Shell Programming and Scripting

Need some help with a regex if loop problem

Need some help with a regex if loop problem. File1: 2323 3232 4230 3230 4340 4343 233 32320 I want to print "Zero" if the number ends with a zero, but print "number" if it does not! #!/bin/bash /usr/bin/nawk '{ if ($1 ==/+0\b/){ print "Zero"} else{ print "number"} (5 Replies)
Discussion started by: linuxkid
5 Replies

5. Programming

REGEX problem

Hi there, How can we use regex in perl to store the Route Distinguisher (the bold field) and also the underlined and bold lines in the below file? Note: These highlighted pattern is redundant through the whole input file. Basically, we just need to extract these fields at least to store them... (4 Replies)
Discussion started by: omoyne
4 Replies

6. Shell Programming and Scripting

Problem in splitiing file based on regex using awk/nawk

I have a file tmp.txt as shown below: Controller: 0 Disk: 0.0.0 Disk: 0.1.0 Disk: 0.2.0 Controller: 1 Volume:c1t2d0 Disk: 0.0.0 Disk: 0.1.0 Disk: 0.2.0 Controller: 2 Volume:c2t2d0 Disk: 0.2.0 Now I want to split... (4 Replies)
Discussion started by: durbam2002
4 Replies

7. UNIX for Dummies Questions & Answers

regex problem with +

Hi, Can someone tell me why the first regular expression with the + fails to match the input string? SUN /web>echo cat | grep '+' SUN /web>echo cat | grep '' cat I'm running SunOS 5.10 Thanks. Chris (2 Replies)
Discussion started by: che9000
2 Replies

8. Shell Programming and Scripting

regex problem

Hi, #!/usr/bin/perl -w my $timestamp; my $line = "Fri May 29 18:29:57.357 2009 Morocco Standard Time INFO: pid 3216 tid 1724: 170: 132192: apricocot Native Server: recvd AA_BIN_MSG_VER_CHG"; if ($line =~ /^(.*) INFO: .* recvd AA_BIN_MSG_VER_CHG/) { $timestamp = $1; ... (1 Reply)
Discussion started by: namishtiwari
1 Replies

9. Solaris

gcc 3.4 Regex problem

Hello All, I have been using String.h with gcc 2.95. Now I have upgraded to gcc 3.4. The support for String.h has been removed and I believe Regex.h support is also not inbuilt. So I tried to build my own library for String.h. I had to use Regex.h and rx.h for a succesful library compilation.... (0 Replies)
Discussion started by: manishs13
0 Replies
Login or Register to Ask a Question