The UNIX and Linux Forums  


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
Finne linje antall samsvarende klammeparenteser Rajendra_1510 Shell programmering og Skripting 3 10-07-2008 06:08
Split File Basert på Linjenummer Mønster shankster Shell programmering og Skripting 11 10-01-2008 10:49
Finne Sist forekomst av et annet mønster når et mønster er funnet. rakeshou Shell programmering og Skripting 1 07-23-2008 04:29
finne dupliserte filer etter størrelse og finne mønstersamsvar og teller jerome Sukumar Shell programmering og Skripting 2 12-01-2006 04:20
Finne mønster & prepending en linje med tekst kirrushna Shell programmering og Skripting 1 07-11-2006 03:20

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 10-10-2008
alirezan alirezan is offline
Registrert bruker
  
 

Bli Dato: Aug 2008
Innlegg: 22
awk eller sed for å finne nærmeste mønsteret til en linje nummer

hi guys,

Jeg vil gjøre mønstersamsvar med awk eller sed men jeg vet ikke hvordan. Her er hva jeg ønsker:

Jeg har et linjenummer etter et mønster som jeg allerede har funnet ved hjelp av grep, og jeg vet et mønster som "---" det skjer noen linjer over at enkelte linjenummer. Jeg vil skrive ut blings mellom "---" og at linjenummer. Men her er fangsten. mønsteret "---" kan være mellom 1 og 20 linjer ovenfor at linjenummer og jeg vet ikke hvor mange linjer ovenfor ... Dessuten er en annen fange som kan "---" skje flere ganger i filen, men jeg vil at "nærmest" til linjenummer. Her er et eksempel:

Her er filen:

Sitat:
---
aaa
BBB
CCC
ddd

---
aaaa
bbbb
cccc
dddd
eeee
ffff
gggg
hhhh

---
jjj
dsf
QQQ
www
Eee
Jeg fant mønsteret sier qqq å være på linje 20. Jeg ønsker å finne den første --- før mønster qqq (linje 20) og jeg vil skrive ut hele blings fra --- dyrke qqq mønsteret skrives ut.

Kan noen hjelpe meg ut her, vennligst?
Takk
  #2 (permalink)  
Old 10-11-2008
Franklin52 Franklin52 is online now Forum Staff  
Moderator
  
 

Bli Date: Feb 2007
Innlegg: 4335
Skal være slik:


Code:
awk '
/---/{c=0}
{a[++c]=$0}
/qqq/{for(i=1;i<=c;i++){print a[i]}exit}
' file

Hilsen
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 06:18.


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