sed to replace <cr><cr><cr> in a line with <cr>


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed to replace <cr><cr><cr> in a line with <cr>
# 1  
Old 06-09-2011
sed to replace <cr><cr><cr> in a line with <cr>

Hi,
Please help me with the sed command for the following scenario:

I've in abc.txt,

asdasdada<cr>aasdsad<cr><cr>asdasdfsdfs<cr><cr><cr>asdsada<cr>adasd<cr>daasdaasd<cr><cr><cr>


I want a sed command to do

asdasdada<cr>aasdsad<cr>asdasdfsdfs<cr>asdsada<cr>adasd<cr>daasdaasd<cr>


please help me
# 2  
Old 06-09-2011
Assuming your file does not contain any '@'
otherwise, choose another character that does not already appear in your file (#,µ, ...)

Code:
sed 's/<cr>/@/g;s/@@*/@/g;s/@/<cr>/g' infile

# 3  
Old 06-09-2011
something like this:

Code:
 
sed 's/<cr>[<cr>]*/<cr>/g' input_file

# 4  
Old 06-09-2011
Thanks for the reply.
If possible, could you please let me know what is wrong with

sed "s/<cr>+/<cr>/g" infile.txt

or

sed "s/\(<cr>\)+/<cr>/g" infile.txt

Thanks in advance.
# 5  
Old 06-09-2011
Please go through this link. I'm sure it will better explain than me:

Sed - An Introduction and Tutorial
# 6  
Old 06-09-2011
Caveat : for some uncommon character, you may need to force the bracket enclosing to be handled correctly :

Code:
# echo "asdasdada<cr>aasdsad<cr><cr>asdasdfsdfs<cr><cr><cr>asdsada<cr>adasd<cr>daasdaasd<cr><cr><cr>" | sed 's/<cr>/µ/g;s/µµ*/µ/g;s/µ/<cr>/g'
asdasdada<cr>aasdsad<cr>asdasdfsdfs<cr><cr>asdsada<cr>adasd<cr>daasdaasd<cr><cr>

---> Here the µ has not been handled correctly

Whereas in the 2 following case, it is handled correctly :
Code:
# echo "asdasdada<cr>aasdsad<cr><cr>asdasdfsdfs<cr><cr><cr>asdsada<cr>adasd<cr>daasdaasd<cr><cr><cr>" | sed 's/<cr>/µ/g;s/µ[µ]*/µ/g;s/µ/<cr>/g'
asdasdada<cr>aasdsad<cr>asdasdfsdfs<cr>asdsada<cr>adasd<cr>daasdaasd<cr>

Code:
# echo "asdasdada<cr>aasdsad<cr><cr>asdasdfsdfs<cr><cr><cr>asdsada<cr>adasd<cr>daasdaasd<cr><cr><cr>" | sed 's/<cr>/µ/g;s/µ[.µ.]*/µ/g;s/µ/<cr>/g'
asdasdada<cr>aasdsad<cr>asdasdfsdfs<cr>asdsada<cr>adasd<cr>daasdaasd<cr>

---------- Post updated at 02:00 PM ---------- Previous update was at 01:53 PM ----------

Quote:
Originally Posted by skpvalvekar
Thanks for the reply.
If possible, could you please let me know what is wrong with

sed "s/<cr>+/<cr>/g" infile.txt

or

sed "s/\(<cr>\)+/<cr>/g" infile.txt

Thanks in advance.
+ or * refer to the preceding character or [character list] they do NOT refer to the preceeding \(strings\)

---------- Post updated at 02:09 PM ---------- Previous update was at 02:00 PM ----------

Quote:
Originally Posted by panyam
something like this:

Code:
 
sed 's/<cr>[<cr>]*/<cr>/g' input_file

@Panyam
Your code is dangerous and may lead to unexpected loss, consider :

Code:
# echo "I<cr><cr>like<cr><cr>roasted <cr><cr>apple<cr><cr><cr>crumble<cr>."  | sed 's/<cr>[<cr>]*/<cr>/g'
I<cr>like<cr>oasted <cr>apple<cr>umble<cr>.

Where did go the 'r' of 'roasted' and 'cr' of 'crumble' ?????

Smilie

Last edited by ctsgnb; 06-09-2011 at 09:14 AM..
# 7  
Old 06-09-2011
Quote:
Originally Posted by ctsgnb
@Panyam
Your code is dangerous and may lead to unexpected loss, consider :

Code:
# echo "I<cr><cr>like<cr><cr>roasted <cr><cr>apple<cr><cr><cr>crumble<cr>."  | sed 's/<cr>[<cr>]*/<cr>/g'
I<cr>like<cr>oasted <cr>apple<cr>umble<cr>.

Where did go the 'r' of 'roasted' and 'cr' of 'crumble' ?????

Smilie
I believe below one would help to resolve
Code:
sed 's/\(<cr>\)\1*/<CR>/g' inputfile

These 2 Users Gave Thanks to michaelrozar17 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace values in script reading line by line using sed

Hi all, Let's say I have a script calling for the two variables PA_VALUE and PB_VALUE. for pa in PA_VALUE blah blah do for pb in PB_VALUE blah blah do I have a text file with two columns of values for PA and PB. 14.5 16.7 7.8 9.5 5.6 3.6 etc etc I would like to read this... (7 Replies)
Discussion started by: crimsonengineer
7 Replies

2. Shell Programming and Scripting

sed command to replace a line in a file using line number from the output of a pipe.

Sed command to replace a line in a file using line number from the output of a pipe. Is it possible to replace a whole line piped from someother command into a file at paritcular line... here is some basic execution flow.. the line number is 412 lineNo=412 Now i have a line... (1 Reply)
Discussion started by: vivek d r
1 Replies

3. Shell Programming and Scripting

Multiple line search, replace second line, using awk or sed

All, I appreciate any help you can offer here as this is well beyond my grasp of awk/sed... I have an input file similar to: &LOG &LOG Part: "@DB/TC10000021855/--F" &LOG &LOG &LOG Part: "@DB/TC10000021852/--F" &LOG Cloning_Action: RETAIN &LOG Part: "@DB/TCCP000010713/--A" &LOG &LOG... (5 Replies)
Discussion started by: KarmaPoliceT2
5 Replies

4. Shell Programming and Scripting

sed command to replace a line at a specific line number with some other line

my requirement is, consider a file output cat output blah sdjfhjkd jsdfhjksdh sdfs 23423 sdfsdf sdf"sdfsdf"sdfsdf"""""dsf hellow there this doesnt look good et cetc etc etcetera i want to replace a line of line number 4 ("this doesnt look good") with some other line ... (3 Replies)
Discussion started by: vivek d r
3 Replies

5. Shell Programming and Scripting

Replace line with sed on OS X

So, I want to, in a script, do an in-line replacement of a line in a file. Piece of cake in Linux with GNU sed. With OSX and BSD sed, not so much. I've been Googling, but nothing is really helping... either an answer is for a use case different enough from what I want to do, or it's something... (10 Replies)
Discussion started by: jnojr
10 Replies

6. Shell Programming and Scripting

I need to know how to replace a line after a pattern match with an empty line using SED

Hi How Are you? I am doing fine! I need to go now? I will see you tomorrow! Basically I need to replace the entire line containing "doing" with a blank line: I need to the following output: Hi How Are you? I need to go now? I will see you tomorrow! Thanks in advance.... (1 Reply)
Discussion started by: sags007_99
1 Replies

7. Shell Programming and Scripting

sed to do replace on line above

Hello, I need to use sed to find a certain string and then do a replace on the line above. For example if I had the following text: AAAAAAA BBBBBBB CCCCCCC DDDDDD I would like to find CCCCCCC, but I would like the replace to be carried out on BBBBBBB. I have done some... (11 Replies)
Discussion started by: toptiger
11 Replies

8. Shell Programming and Scripting

sed to replace a line with modified line in same file

i have few lines in a file... i am reading them in a while loop so a particular line is held is $line1.. consider a modified line is held in $line2.... i want to replace $line1 with $line2 in the same file... how to do it..? i have come up till the below code sed "s/$line1/$line2/g" tmpfile.sql... (5 Replies)
Discussion started by: vivek d r
5 Replies

9. Shell Programming and Scripting

How to replace one line with three in sed

Hi, I have a problem. I want to use SED to replace one line with three It looks like: PARAM='first_line,second_line,third_line' And in file: blablabla blablabla PARAM blablabla blablabla blablabla All I want is to change this into: blablabla blablabla first_line second_line... (6 Replies)
Discussion started by: ch0sen
6 Replies

10. Shell Programming and Scripting

sed - Replace Line which contains the Pattern match with a new line

I need to replace the line containing "STAGE_DB" with the line "STAGE_DB $DB # database that contains the table being loaded ($workingDB)" Here $DB is passed during the runtime. How can I do this? Thanks, Kousikan (2 Replies)
Discussion started by: kousikan
2 Replies
Login or Register to Ask a Question