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
regeluttrykket [^] iengca Shell programmering og Skripting 9 06-18-2008 10:45
Trenger du et vanlig uttrykk tony3101 Shell programmering og Skripting 4 06-05-2008 04:13
regeluttrykket og awk nickg UNIX for Dummies Spørsmål og svar 2 08-16-2007 06:23
Regeluttrykk edog UNIX for Dummies Spørsmål og svar 5 12-04-2003 02:58
Regeluttrykk + Aritmetical Expression Z0mby Shell programmering og Skripting 2 05-21-2002 11:59

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 05-24-2007
ynixon ynixon is offline
Registrert bruker
  
 

Bli Date: Mar 2007
Innlegg: 57
regeluttrykket over noen linjer

Jeg prøver å bruke regulære uttrykk for å identifisere BARE kommandoene som ikke har ordet "TABLESPACE" i den. en kommando starter med "create table" og slutter med; (semikolon)

eksempel fil:

Code:
create table first tablespace ;
create table second
(
  BBL_CUSTOMER_NAME      VARCHAR2(32),
a tablespace af
);
create table third
(
  BBL_CUSTOMER_NAME      VARCHAR2(32),
);
create table 
forth
(
  BBL_CUSTOMER_NAME      VARCHAR2(32) );

kampen skal være:

Code:
create table third
(
  BBL_CUSTOMER_NAME      VARCHAR2(32),
);
create table 
forth
(
  BBL_CUSTOMER_NAME      VARCHAR2(32) );

HJELP MEG

Sist endret av ynixon; 05-24-2007 kl 12:02..
  #2 (permalink)  
Old 05-24-2007
aigles's Avatar
aigles aigles is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: april 2004
Sted: Bordeaux, Frankrike
Innlegg: 1433
Du kan prøve noe sånt:

Code:
awk '
   BEGIN { 
      RS=ORS=";\n"
   }
   /create/ && ! /tablespace/ {
      sub(/^\n*/, "");
      print
   }
    ' inputfile

Jean-Pierre.
  #3 (permalink)  
Old 05-24-2007
anbu23 anbu23 is offline Forum Advisor  
Registrert bruker
  
 

Bli Date: Mar 2006
Beliggenhet: Bangalore, India
Innlegg: 1398

Code:
awk -v RS=";\n" -v ORS=";\n" ' !/tablespace/ ' filename

  #4 (permalink)  
Old 05-24-2007
ynixon ynixon is offline
Registrert bruker
  
 

Bli Date: Mar 2007
Innlegg: 57
Jeg vil prøve å bruke bare grep
  #5 (permalink)  
Old 05-24-2007
drl's Avatar
drl drl is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: april 2007
Beliggenhet: Saint Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Innlegg: 717
Hei.

Jeg tror at grep vil ikke krysse linjeskift, slik at du vil trenge for å plassere dine kommandoer på hver enkelt linje. Det er et notat i min mann grep side om hjelp perl regulære uttrykk, men at det er udokumentert. Den, det awk og perl skript kan gjøre bruk av settable posten grenser.

Her er en perl quickie:

Code:
#!/bin/sh

# @(#) s1       Demonstrate perl quickie for unmatched string across lines.

FILE=${1-data1}

perl -wn -e 'BEGIN{$/=";"} print if not /tablespace/' $FILE

exit 0

Og kjører denne på prøven inneholdt i filen Data1:

Code:
% ./s1

create table third
(
  BBL_CUSTOMER_NAME      VARCHAR2(32),
);
create table
forth
(
  BBL_CUSTOMER_NAME      VARCHAR2(32) );

De beste ønsker ... Skål, drl
  #6 (permalink)  
Old 05-24-2007
ynixon ynixon is offline
Registrert bruker
  
 

Bli Date: Mar 2007
Innlegg: 57
Sitat:
Originally Posted by drl
Hei.

Jeg tror at grep vil ikke krysse linjeskift, slik at du vil trenge for å plassere dine kommandoer på hver enkelt linje. Det er et notat i min mann grep side om hjelp perl regulære uttrykk, men at det er udokumentert. Den, det awk og perl skript kan gjøre bruk av settable posten grenser.

Her er en perl quickie:

Code:
#!/bin/sh

# @(#) s1       Demonstrate perl quickie for unmatched string across lines.

FILE=${1-data1}

perl -wn -e 'BEGIN{$/=";"} print if not /tablespace/' $FILE

exit 0

Og kjører denne på prøven inneholdt i filen Data1:

Code:
% ./s1

create table third
(
  BBL_CUSTOMER_NAME      VARCHAR2(32),
);
create table
forth
(
  BBL_CUSTOMER_NAME      VARCHAR2(32) );

De beste ønsker ... Skål, drl
ren og enkel
  #7 (permalink)  
Old 05-24-2007
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderator
  
 

Bli Date: Feb 2005
Sted: Boston, MA
Innlegg: 5131
Sitat:
Originally Posted by ynixon
Jeg vil prøve å bruke bare grep
Hvorfor det?
Closed Thread

Hugseliste

Tags
regex, regeluttrykk

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: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