The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Unix Arithmatic drift problemet Datatypen problemet thambi Shell programmering og Skripting 23 02-19-2008 07:19
specifing rekkevidde .... zedex UNIX for Advanced & ekspertbrukere 1 10-19-2007 09:07
Komme "utenfor området" når partisjonering pmichner UNIX for Dummies Spørsmål og svar 1 09-30-2006 01:51
Se en streng innen rekkevidde! azmathshaikh Shell programmering og Skripting 0 05-01-2005 03:54
Unix SCO 5.0.6 utenfor rekkevidde josramon UNIX for Dummies Spørsmål og 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 denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 06-05-2008
Wrathe Wrathe is offline
Registrert bruker
  
 

Bli Dato: juni 2008
Innlegg: 6
Sed Range Issue

OK, så for en stor oversikt over hva jeg prøver å gjøre:

Jeg har 2 filer som er mest like.
Filformatet er:

[descriptor1]
data
data
data
data

[descriptor2]
data
data
data
data

[descriptor3]
data
data

[descriptor4]
data
data

OK, så hva jeg må gjøre er å ta alle data fra [descriptor2] og [descriptor3] deler fra file1 fjerne like deler fra file2, og deretter sette inn fra file1 på rett sted i file2. Morsomt, ikke sant?

Vel, jeg er ny m / sed, Men det synes den beste måten å gjøre dette (korrigere meg hvis jeg er galt). Jeg har noen som jobber minibank, men det gir meg faktisk line [descriptor4] som dette er slutten på området jeg bruker, og jeg vil ikke at det å inkludere det i avsnittet slette, hvordan kan jeg ikke gjør den det?

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

I utgangspunktet jeg ønsker utdataene skal være:

[descriptor2]
data
data
data
data

[descriptor3]
data
data

Og det gir meg alt dette, pluss en [descriptor4] som det er der omfanget slutter, men jeg er ikke sikker på hvordan andre å definere den.

Takk for alle lys du kan felle!
  #2 (permalink)  
Old 06-05-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Bli Date: Feb 2007
Innlegg: 4305
Prøv dette:

Code:
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"
Hilsen
  #3 (permalink)  
Old 06-17-2008
freelong freelong is offline
Registrert bruker
  
 

Bli Dato: april 2008
Innlegg: 38
Code:
sed -e '/\[descriptor2/,/\[descriptor4/!d' -e '/\[descriptor4/d' file1
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 02:06.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0