Regular Expressions


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Regular Expressions
# 1  
Old 06-09-2006
Regular Expressions

How can i create a regular expression which can detect a new line charcter followed by a special character say * and replace these both by a string of zero length?

Eg:
Input File san.txt

hello
hi
*User
Good
*Morning
Good
Bye


Applying sed command

sed 's/Reg.Expr/g' san.txt
--------------------------------------->

Desired output

hello
hiUser
GoodMorning
Good
Bye

What should be the value of Reg.Expr i.e. Regular Expression to get the desired output??


Please help
# 2  
Old 06-09-2006
Code:
sed 's/^\*//s' filename

# 3  
Old 06-09-2006
I tried that but it is not giving the desired output

$ sed 's/^\*//g' san.txt
hello
hi
User
Good
Morning
Good
Bye


Desired Output is
hello
hiUser
GoodMorning
Good
Bye
# 4  
Old 06-09-2006
I don't know how to do that with sed, I guess. awk works:
Code:
awk 'BEGIN{ getline; printf "%s", $0}
    { if(substr($0,1,1)=="*"){
         printf "%s", substr($0,2)
      }
      else {
         printf "\n%s", $0
      }
    }    
     END{printf "\n"} 
     ' filename

# 5  
Old 06-09-2006
Thank you so much...it worked for me.
I am a newbie to shell scripts and slowly working out my way. I have been trying this since two days but couldnt make out.



Thanks again

Last edited by sandeep_hi; 06-09-2006 at 09:44 AM..
# 6  
Old 06-11-2006
What about this:
Code:
sed 'N;s/\n\*//;P;D;' san.txt

Regards,
Tayyab
# 7  
Old 06-12-2006
Code:
BEGIN {lastString="";}
{	curStr=$0;
	if (substr(curStr,1,1)=="*") {
		len = length(lastString);
		print substr(lastString,1,len) substr(curStr,2);
	}else{
		print substr(curStr,1)
	}
	lastString = curStr;
}

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

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) but it... (7 Replies)
Discussion started by: pxalpine
7 Replies

4. 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

5. 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

6. 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

7. 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

8. 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

9. 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

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