The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Unix Arithmatic drift fråga datatyp fråga thambi Shell-programmering och Skript 23 02-19-2008 07:19
specifing rad .... zedex UNIX för avancerade & Expertanvändare 1 10-19-2007 10:07
Få "utom räckhåll" när partitioneringen pmichner UNIX for Dummies Frågor & Svar 1 09-30-2006 02:51
Titta en sträng inom en rad! azmathshaikh Shell-programmering och Skript 0 05-01-2005 04:54
Unix SCO 5.0.6 utom räckhåll josramon UNIX for Dummies Frågor & Svar 5 02-21-2003 02:06

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ök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 06-05-2008
Wrathe Wrathe is offline
Registered User
  
 

Join Date: juni 2008
Inlägg: 6
Sed Range Utgåva

OK, så för en stor översikt av vad jag försöker göra:

Jag har 2 filer som oftast gillar.
Filformatet är:

[descriptor1]
data
data
data
data

[descriptor2]
data
data
data
data

[descriptor3]
data
data

[descriptor4]
data
data

OK, så vad jag behöver göra är att ta alla uppgifter från [descriptor2] och [descriptor3] avsnitten från fil1, ta gärna avsnitt ur fil2 och sätt sedan in ström från fil1 i rätt plats i fil2. Kul, va?

Tja, jag är ny w / sed, Men det verkar vara det bästa sättet att göra detta (rätta mig om jag är fel). Jag har en del kod som arbetsspråk atm, men det ger mig faktiskt line [descriptor4] som är det sista området jag använder och jag inte vill att det ska vara att i avsnittet bort, hur gör jag inte göra det göra det?

sed '/ \ [descriptor2 /, / \ [descriptor4 /! d'fil1

I princip vill jag att produktionen ska vara:

[descriptor2]
data
data
data
data

[descriptor3]
data
data

Och det ger mig allt detta, plus ett [descriptor4] eftersom det är där de olika ändarna, men jag är inte säker på hur andra att definiera den.

Tack för alla ljus man kan fälla!
  #2 (permalänk)  
Old 06-05-2008
Franklin52 Franklin52 is online now Forum Staff  
Moderator
  
 

Join Date: februari 2007
Inlägg: 4.326
Prova detta:


Kod:
awk ' 
FNR==NR && /descriptor2/{f=1} 
FNR==NR && /descriptor4/{f=0} 
FNR==NR && f{arr[++i]=$0}
FNR==NR{next}
/descriptor2/{for(j=1;j<=i;j++){print arr[j]};f=1} 
/descriptor4/{f=0} 
!f{print}
' "file1" "file2"

Hälsningar
  #3 (permalänk)  
Old 06-17-2008
freelong freelong is offline
Registered User
  
 

Join Date: april 2008
Inlägg: 38

Kod:
sed -e '/\[descriptor2/,/\[descriptor4/!d' -e '/\[descriptor4/d' file1

Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 08:28.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0