Help with regular expressions


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with regular expressions
# 1  
Old 08-09-2010
Help with regular expressions

I have a file that I'm trying to find all the cases of phone number extensions and deleting them. So input file looks like:

abc
x93825
def
13234
x52673
hello

output looks like:
abc
def
13234
hello

Basically delete lines that have 5 numbers following "x". I tried: x\(4)[0-9] but it doesn't seem to work. Can any regex experts help? thx.
# 2  
Old 08-09-2010
Code:
sed -n '/^x[0-9][0-9][0-9][0-9][0-9]/!p' file

This User Gave Thanks to kurumi For This Post:
# 3  
Old 08-09-2010
bash:
Code:
while read line; do [[ $line =~ ^x[0-9]{5}$ ]] || echo "$line"; done <<<"abc
x93825
def
13234
x52673
hello"
abc
def
13234
hello

sed:
Code:
sed -r '/^x[0-9]{5}$/d' <<<"abc
x93825
def
13234
x52673
hello"
abc
def
13234
hello

# 4  
Old 08-09-2010
kurumi's code worked, thank you. So I didn't try daPeach's.

Is there a way to find lines that have more than 3 capitalized letters in them?
# 5  
Old 08-09-2010
bash:
Code:
while read line; do precount="${line//[[:lower:] ]}"; (( ${#precount} > 3 )) && echo "$line"; done <<<"a B c D e F g H
aBcDeFgH
a B c D e F g h
aBcDeFgh"
a B c D e F g H
aBcDeFgH


Last edited by daPeach; 08-10-2010 at 01:30 AM..
# 6  
Old 08-10-2010
Quote:
Originally Posted by pxalpine
kurumi's code worked, thank you. So I didn't try daPeach's.

Is there a way to find lines that have more than 3 capitalized letters in them?
Sed one liner to print lines with three or more capital letters:

Code:
sed  -r -n  '/([A-Z][^A-Z]*){3,}/p'

Replace -r with -E if you're using a BSD system, or AST's (AT&T) sed.
# 7  
Old 08-10-2010
Thanks agama. Just to learn, what does the /p at the end of the code do?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Regular expressions

I need to pick a part of string lets stay started with specific character and end with specific character to replace using sed command the line is like this:my audio book 71-skhdfon1dufgjhgf8.wav' I want to move the characters beginning with - end before. I have different files with random... (2 Replies)
Discussion started by: XP_2600
2 Replies

2. Shell Programming and Scripting

Regular Expressions

I am new to shell scripts.Can u please help me on this req. test_user = "Arun" if echo "test_user is a word" else echo "test_user is not a word" (1 Reply)
Discussion started by: chandrababu
1 Replies

3. Shell Programming and Scripting

Regular Expressions

#!/usr/bin/perl $word = "one last challenge"; if ( $word =~ /^(\w+).*\s(\w+)$/ ) { print "$1"; print "\n"; print "$2"; } The output shows that "$1" is with result one and "$2" is with result challenge. I am confused about how this pattern match expression works step by step. I... (8 Replies)
Discussion started by: DavidHe
8 Replies

4. UNIX for Dummies Questions & Answers

Regular expressions

In regular expressions with grep(or egrep), ^ works if we want something in starting of line..but what if we write ^^^ or ^ for pattern matching??..Hope u all r familiar with regular expressions for pattern matching.. (1 Reply)
Discussion started by: aadi_uni
1 Replies

5. UNIX for Advanced & Expert Users

Regular Expressions

Hi, below is a piece of code written by my predecessor at work. I'm kind of a newbie and am trying to figure out all the regular expressions in this piece of code. It is really a tough time for me to figure out all the regular expressions. Please shed some light on the regular expressions... (3 Replies)
Discussion started by: ramky79
3 Replies

6. Shell Programming and Scripting

regular expressions

Hello, Let say I have a string with content "Free 100%". How can extract only "100" using ksh? I would this machanism to work if instead of "100" there is any kind of combination of numbers(ex. "32", "1238", "1"). I want to get only the digits. I have written something like this: ... (4 Replies)
Discussion started by: whatever
4 Replies

7. UNIX for Dummies Questions & Answers

regular expressions

Hi Gurus, I need help with regular expressions. I want to create a regular expression which will take only alpha-numeric characters for 7 characters long and will throw out an error if longer than that. i tried various combinations but couldn't get it, please help me how to get it guys. ... (2 Replies)
Discussion started by: ragha81
2 Replies

8. Shell Programming and Scripting

Help with regular expressions

I have following content in the file CancelPolicyMultiLingual3=U|PC3|EN RestaurantInfoCode1=U|restID1|1 ..... I am trying to use following matching extression \|(+) to get this PC3|EN restID1|1 Obviously it does not work. Any ideas? (13 Replies)
Discussion started by: arushunter
13 Replies

9. Shell Programming and Scripting

regular expressions

Hi, can anyone advise me how to shorten this: if || ; then I tried but it dosent seem to work, whats the correct way. Cheers (4 Replies)
Discussion started by: jack1981
4 Replies

10. Programming

regular expressions in c++

How do I use the regular expressions in c++? (2 Replies)
Discussion started by: szzz
2 Replies
Login or Register to Ask a Question