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
Hvordan finne filer som har flere enn én forekomst av mønsteret Prahlad Shell programmering og Skripting 10 08-08-2008 01:16
Opptelling av Matchet mønster forekomst palash2k UNIX for Dummies Spørsmål og svar 3 04-24-2008 04:33
Mønsteret ikke funnet: awk, hjelp jkl_jkl Shell programmering og Skripting 7 03-12-2008 07:46
får strofe navnene hvis mønsteret funnet vijaya2006 Shell programmering og Skripting 4 09-25-2007 10:03
finne dupliserte filer etter størrelse og finne mønstersamsvar og teller jerome Sukumar Shell programmering og Skripting 2 12-01-2006 04: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 07-23-2008
rakeshou rakeshou is offline
Registrert bruker
  
 

Bli Dato: mai 2007
Innlegg: 75
Thumbs up Finne Sist forekomst av et annet mønster når et mønster er funnet.

Hei,

Jeg har to filer viz,

rak1:
$ Cat rak1
Sitat:
# dette er test

[Section1]
PMAN 2
ZMAN 4

[section2]
xxx 0
NOP 6

[§ 3]
PMAN 1
ZMAN 8
rak2:

$ Cat rak2
Sitat:
# dette er test

[Section1]
PMAN 2
ZMAN 9

[section2]

xxx 0
Nota 5
TOCN 8






[§ 3]
PMAN 1
Code:
sdiff rak1 rak2
tilbake:

Sitat:
$ Sdiff rak1 rak2
# Dette er testen # dette er test

[Section1] [Section1]
PMAN 2 PMAN 2
ZMAN 4 | 9 ZMAN

[section2] [section2]
>
xxx 0 xxx 0
NOP 6 | 5 nota
> TOCN 8

>
>
>
>
>
[§ 3] [§ 3]
PMAN 1 PMAN 1
ZMAN 8 <
Jeg vil linjene som ble endret, endret eller slettet før den delen de er i.

Jeg har gjort dette så langt:

Sitat:
$ Sdiff rak1 rak2 | sed 's / / / g' | grep-n "." | Egrep-e "\ ||<|>" | sed'/>$/ d '
5: ZMAN 4 | 9 ZMAN
10: 6 NOP | 5 nota
11:> TOCN 8
20: 8 ZMAN <
men jeg dont vite hvor å putte seksjonen foran endret, lagt til eller slettet linjer.

Også den ville være verdsatt hvis resultatet kan bli skrevet ut som

[delen X] <valInFile1/valInFile2> <valInFile1/valInFile2>
og så videre.



Behage hjelpe meg ut
  #2 (permalink)  
Old 07-23-2008
alex_5161 alex_5161 is offline
Registrert bruker
  
 

Bli Date: Jan 2007
Beliggenhet: Detroit
Innlegg: 124
Jeg ser ikke hvorfor du trenger egrep. Bruke sed for at filtrering - lett.
Nå bruker-n alternativet du unngå sed fra å skrive unnessesary linje.
Etter at akkurat ut hva du trenger: linjer med § nummer og linjer med endringer:
Code:
> sdiff rak1 rak2 | grep -n "." | sed -n '/>$/d; /section/p; /[|<>]/p'
Ok, slette fortsatt behov

Den eneste ikke-Nice, vil deler med noen endringer være at utskriften

Jeg kunne ikke få det av 'sed'
Enkel med nawk:
Code:
>....|
nawk '{if ( ($0 !~ /section/) || (prev !~ /section/) ) print prev; prev=$0;}
        END{if ($0 !~ /section/) print $0;}'
Ikke klart hvorfor det har tom linje i begynnelsen og slutten, så fjerner du det ved å:
Code:
>...|nawk NF;
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 03:44.


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