The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > UNIX for dummyer Spørgsmål & svar
.
google unix.com



UNIX for dummyer Spørgsmål & svar Hvis du ikke ved, hvor man skal sende en UNIX-eller Linux-spørgsmål, efter det her. Alle UNIX og Linux newbies velkommen!

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 02-01-2008
ammu ammu is offline
Registreret Bruger
  
 

Join Date: Jul 2006
Stillinger: 79
sed hjælpe

Hej,

Jeg har en fil, og jeg er nødt til at indsætte en linje over en bestemt linje i filen.
I filen linjerne starter med datoer og kan have linjer startende med gentagne datoer. Jeg vil gerne søge (første forekomst) for en linje, der starter med særlig dato og indsætte en linje over denne linje
Ex
sample.txt
-------------------------------
013.008 .......
013.008 .......
013.108 .......
013.108 .......
013.008 .......
020108
020.108 ........

Sige, at jeg vil søge efter en linje, der starter med 020108 (første forekomst), og indsætte en linje over det. Kan du give mig sed Kommandoen for at
eller perl onliner.

Thanks in advance
ammuu

Sidst redigeret af ammu; 02-01-2008 på 11:48 AM..
  #2 (permalink)  
Old 02-01-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Join Date: Jun 2003
Location: Skotland
Posts: 431
Dette:


Code:
#  sed '1,/020108/{//i\
Add this line before
} ' infile

producerer dette output med dit input ovenfor:


Code:
013008 .......
013008 .......
013108 .......
013108 .......
013008 .......
Add this line before
020108
020108 ........

Er det hvad du efter?
  #3 (permalink)  
Old 02-01-2008
ammu ammu is offline
Registreret Bruger
  
 

Join Date: Jul 2006
Stillinger: 79
Thanks for besvarelse
Når jeg udføre kommandoen det er at smide en fejl
$sed '1, / 020108 / (/ / i \ tilføje denne linje) 'a.txt
sed: Kommando forvansket: 1 / 020108 / (/ / i \ tilføje denne linje)

Jeg har brug for at tilføje en linje som ud skabe nogen temp filer

Tak
Ammu
  #4 (permalink)  
Old 02-02-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Join Date: Jun 2003
Location: Skotland
Posts: 431
afstand / newlines er vigtigt - indsætte i sed er som standard en multiline kommando.

dvs følge det eksempel nøjagtigt .... ikke på en linje ...
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 09:07 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0