The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers
Google UNIX.COM
Home Forums Register Rules & FAQ Members List Arcade Search Today's Posts Mark Forums Read


UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !!


Reply
 
Submit Tools LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 02-01-2008
Registered User
 

Join Date: Jul 2006
Posts: 53
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiReddit! Stumble this Post!Spurl this Post!
sed help

Hi,

I have a file and i have to insert a line above a particular line in the file.
In the file the lines starts with dates and can have lines starting with repeated dates. I want to search(first occurence) for a line starting with particular date and insert a line above that line
Ex
sample.txt
-------------------------------
013008 .......
013008 .......
013108 .......
013108 .......
013008 .......
020108
020108 ........

Say i want to search for a line starting with 020108(first occurence ) and insert a line above it. Can you please give me the sed command for that
or perl onliner.

Thanks in advance
ammuu

Last edited by ammu : 02-01-2008 at 07:48 AM.
Reply With Quote
Forum Sponsor
  #2 (permalink)  
Old 02-01-2008
Tytalus's Avatar
Registered User
 

Join Date: Jun 2003
Location: Scotland
Posts: 182
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiReddit! Stumble this Post!Spurl this Post!
This :

Code:
#  sed '1,/020108/{//i\
Add this line before
} ' infile
produces this output with your input above:

Code:
013008 .......
013008 .......
013108 .......
013108 .......
013008 .......
Add this line before
020108
020108 ........
Is this what you're after ?
Reply With Quote
  #3 (permalink)  
Old 02-01-2008
Registered User
 

Join Date: Jul 2006
Posts: 53
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiReddit! Stumble this Post!Spurl this Post!
Thanks for replying
When I execute the command it is throwing an error
$sed '1,/020108/{//i\add this line} ' a.txt
sed: command garbled: 1,/020108/{//i\add this line}

I need to add a line which out creating any temp files

Thanks
Ammu
Reply With Quote
  #4 (permalink)  
Old 02-02-2008
Tytalus's Avatar
Registered User
 

Join Date: Jun 2003
Location: Scotland
Posts: 182
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiReddit! Stumble this Post!Spurl this Post!
spacing/newlines are important - insert in sed is by default a multiline command.

i.e. follow the example exactly....not on one line...
Reply With Quote
Google UNIX.COM
Reply



Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -7. The time now is 08:11 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008 The CEP Blog All Rights Reserved -Ad Management by RedTyger

Search Engine Optimization by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102