Need assistance with sed


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need assistance with sed
# 1  
Old 04-09-2011
Question Need assistance with sed

Hi All,

I need your assistance, I would like to replace all lines beginning with the word "begin" with the below text:

Code:
       Device          |            IPMB0-A              |             IPMB0-B             
Board      Address      |Sent      SentErr      %Errr      |Sent      SentErr      %Errr

How this is achievable using sed command line or sed script?
In general, How can I replace a complete line with a certain text?

The below command will only replace the word "begin" but how to replace the complete line:
Code:
#sed s/^begin/text/ test.log

Thanks in advance.
# 2  
Old 04-09-2011
Something like:
Code:
sed s/^begin.*/text/

# 3  
Old 04-09-2011
Quote:
Originally Posted by scottn
Something like:
Code:
sed s/^begin.*/text/

Thanks for your quick reply but how about the first example i have highlighted? this is not achievable via command line, it needs sed script to do it. any ideas?
# 4  
Old 04-10-2011
Code:
# cat infile
begin this is
this is ...................
that is.................
begin this is

Code:
# cat text
       Device          |            IPMB0-A              |             IPMB0-B
Board      Address      |Sent      SentErr      %Errr      |Sent      SentErr      %Errr

Code:
# sed "s/^begin.*/$(sed -e :a -e '$! s/$/\\n/;' -e 'N;s/\n//g' -e 'ta' text)/" infile
      Device          |            IPMB0-A              |             IPMB0-B
Board      Address      |Sent      SentErr      %Errr      |Sent      SentErr      %Errr
this is ...................
that is.................
      Device          |            IPMB0-A              |             IPMB0-B
Board      Address      |Sent      SentErr      %Errr      |Sent      SentErr      %Errr

# 5  
Old 04-11-2011
Quote:
Originally Posted by ygemici
Code:
# cat infile
begin this is
this is ...................
that is.................
begin this is

Code:
# cat text
       Device          |            IPMB0-A              |             IPMB0-B
Board      Address      |Sent      SentErr      %Errr      |Sent      SentErr      %Errr

Code:
# sed "s/^begin.*/$(sed -e :a -e '$! s/$/\\n/;' -e 'N;s/\n//g' -e 'ta' text)/" infile
      Device          |            IPMB0-A              |             IPMB0-B
Board      Address      |Sent      SentErr      %Errr      |Sent      SentErr      %Errr
this is ...................
that is.................
      Device          |            IPMB0-A              |             IPMB0-B
Board      Address      |Sent      SentErr      %Errr      |Sent      SentErr      %Errr

Thanks a lot! it worked perfectly Smilie can you explain the command in details please?

BR
# 6  
Old 04-12-2011
Quote:
Originally Posted by Dendany83
Thanks a lot! it worked perfectly Smilie can you explain the command in details please?

BR
Code:
sed -e :a -e '$! s/$/\\n/;' -e 'N;s/\n//g' -e 'ta' text

this command's result is
Code:
       Device          |            IPMB0-A              |             IPMB0-B\nBoard      Address      |Sent      SentErr      %Errr      |Sent      SentErr      %Errr

so we add to newline chr as text '\n' char because sed is expect '\n' char for write (in buffer's) 2.line to as our stdoutput newline. that's all Smilie

regards
ygemici
# 7  
Old 04-12-2011
Quote:
Originally Posted by ygemici
Code:
sed -e :a -e '$! s/$/\\n/;' -e 'N;s/\n//g' -e 'ta' text

this command's result is
Code:
       Device          |            IPMB0-A              |             IPMB0-B\nBoard      Address      |Sent      SentErr      %Errr      |Sent      SentErr      %Errr

so we add to newline chr as text '\n' char because sed is expect '\n' char for write (in buffer's) 2.line to as our stdoutput newline. that's all Smilie

regards
ygemici
Sorry but this command is giving me an error:

Code:
#sed -e :a -e '$! s/$/\\n/;' -e 'N;s/\n//g' -e 'ta' header

Code:
Unrecognized command: $! s/$/\\n/;

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Assistance required to decode sed search using /1

Hi, I am trying to extract line number (first number), as well as everything from TSVal onwards. 4 1.474005 172.18.124.142 -> 74.125.228.46 TCP 2450940617 74 44021 > https Seq=0 Win=5840 Len=0 MSS=1380 SACK_PERM=1 TSval=2450940617 TSecr=0 WS=64 6 1.488149 172.18.124.142 ->... (1 Reply)
Discussion started by: sand1234
1 Replies

2. Shell Programming and Scripting

sed assistance

Hello everyone. I am trying to replace sprintf(buffer, "{\"id\":1,\"method\":\"mining.update_block\",\"params\":}\n", coinid, blockhash); with sprintf(buffer, "{\"id\":1,\"method\":\"mining.update_block\",\"params\":}\n", coinid, blockhash); this is the code I was trying but is... (9 Replies)
Discussion started by: crombiecrunch
9 Replies

3. UNIX for Dummies Questions & Answers

Sed/command assistance

Hello, I'm attempting to play with sed commands again... I have a file named test1 with numbers...ex:5551234567 I run this sed on the file... cat test1 | sed 's/^/homeDnModify "/g' | sed 's/$/" "" 3/g' >test2 Im hoping it will look like this... homeDnModify "551235" "4567" ""... (5 Replies)
Discussion started by: jay11789
5 Replies

4. UNIX for Dummies Questions & Answers

Sed/command assistance

Hello all, I need some help and education creating a script. Basically I have a file with a list of numbers.. 2125554444 2124445555 I need to put them into a format that looks like this.... UQ-V8.1,2125554444,hdaudio UQ-V8.1,2124445555,hdaudio Any help would be greatly... (6 Replies)
Discussion started by: jay11789
6 Replies

5. Shell Programming and Scripting

sed newbie scripting assistance

Howdy folks, I'm trying to craft a log file summarisation tool for an application that creates a lot of duplicate entries with only a different suffix to indicate point of execution. I thought I'd gotten close but I'm clearly missing something. Here's a genericized version: A text_file... (3 Replies)
Discussion started by: mthespian
3 Replies

6. UNIX for Advanced & Expert Users

Need assistance with sed

Hi All, I need your assistance, I would like to replace all lines beginning with the word "begin" with the below text: Device | IPMB0-A | IPMB0-B Board Address |Sent SentErr %Errr |Sent SentErr ... (10 Replies)
Discussion started by: Dendany83
10 Replies

7. Shell Programming and Scripting

sed search and replace word assistance...

Hi, I am trying to write a shell script designed to take input line by line by line from a file with a word on each line for editing with sed. Example file: 1.ejverything 2.bllown 3.maikling 4.manegement 5.existjing 6.systems My design currently takes input from the user, and... (2 Replies)
Discussion started by: mkfitzwilliams
2 Replies

8. Shell Programming and Scripting

Need assistance with appending strings using sed and variables

HI, Can't seem to find anything on the forums to fix this. I have a file, one line within this will not have a specific string at the end. I have the string, but need to append it to the specific line which has it missing. I need to use a variable for this, $string - I am using double... (13 Replies)
Discussion started by: mandriver
13 Replies

9. UNIX for Advanced & Expert Users

assistance requested (sed related)

I gotta write a command to change the accounts in /etc/passwd that use a shell other than the bash to bash shell. those accounts that dont use a shell shouldnt get modified. assuming all the shell programs end in sh and other programs dont. and the result should go into /etc/passwd.rev any hint? (4 Replies)
Discussion started by: metalwarrior
4 Replies

10. UNIX for Advanced & Expert Users

need assistance: sed and repeating patterns

hi, I need to write a command with sed to find all the lines in a file that contain patterns of three or more characters that repeat once and put them inside perenthezes. I cannot tell sed what pattern to look for. it should find repeated patterns automatically. example:... (1 Reply)
Discussion started by: metalwarrior
1 Replies
Login or Register to Ask a Question