The UNIX and Linux Forums  


Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Utilizzare i caratteri jolly in uno script emferrari Shell scripting e di programmazione 13 03-07-2008 04:14 AM
metacaratteri NON C3000 UNIX for Dummies Domande & Risposte 5 11-21-2007 07:19 AM
ls con caratteri jolly benu302000 UNIX for Dummies Domande & Risposte 10 06-29-2005 02:53 PM
caratteri jolly benu302000 UNIX for Dummies Domande & Risposte 3 06-29-2005 01:10 PM
I caratteri jolly nel VI peter.herlihy UNIX for Dummies Domande & Risposte 8 01-08-2002 04:27 AM

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 Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 09-27-2006
HealthyGuy HealthyGuy is offline
Utente Registrato
  
 

Join Date: Sep 2006
Posti: 8
I caratteri jolly in SED

Hi Folks

Quick One non riesco a capire ..

Ho bisogno di sostituire una stringa come "Da qui ..... fino a qui".

Vorrei che il comando sarà simile:
sed 's / * Da qui a qui / nuovo testo / g' o
sed 's / Da qui \ * a qui / nuovo testo / g'

Ma non funziona per me.

Grazie in anticipo
  #2 (permalink)  
Old 09-27-2006
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderatore
  
 

Iscriviti Data: febbraio 2005
Località: Boston, MA
Messaggi: 5.131

Codice:
echo 'aksjfhd from here fooo asdlfkjaslkfjd to here aslfjdlaksjdf' | sed 's/from here.*to here/OVER THERE/'

  #3 (permalink)  
Old 09-27-2006
anbu23 anbu23 is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: marzo 2006
Località: Bangalore, India
Messaggi: 1.398
* nella espressione regolare corrisponde un numero qualsiasi (o nessuno), del singolo carattere che la precede immediatamente


Codice:
sed 's/From here*to here/new text/g'

Questa espressione regolare Da qui a qui * corrisponderà
Da qui Herto
Da qui presente
Da qui hereeto
...

\ Di solito, spegnere il significato speciale del carattere successivo


Codice:
sed 's/From here\*to here/new text/g'

Questa espressione regolare Da qui \ * a qui corrisponderà
Da qui a qui *

provare questo


Codice:
sed 's/From here.*to here/new text/g'

  #4 (permalink)  
Old 09-27-2006
Corona688 Corona688 is offline
Utente Registrato
  
 

Join Date: Aug 2005
Località: Saskatchewan
Interventi: 1.965
Si potrebbe desiderare di utilizzare l'opzione '-r' per dire sed utilizzare espressioni regolari estese. Di base sed regex sono piuttosto limitate.

In secondo luogo, le espressioni regolari funzionano in modo diverso in sed di quanto non facciano in un guscio. * Non significa nulla di per sé, è un modificatore di qualcos'altro. Prima gli si dice quello che l'espressione si vuole abbinare, quindi opzionalmente, come molti di loro si vuole corrispondere. Un'espressione può essere una sola lettera, una serie di lettere, o qualcosa del genere tra parentesi.
  • Un da solo le partite solo la lettera A, come vi aspettereste.
  • [ABC] da solo le partite solo la lettera A, B o C.
  • A * dice di corrispondere 0 o più A caratteri.
  • [ABC] * dice di corrispondere 0 o più caratteri, tra A, B, C.
  • [AZ] * dice di corrispondere 0 o più caratteri, tra A, B, C, ..., Z.
  • [^ A] * dice di corrispondere 0 o più caratteri che non sono A.
  • (ABC) * dice di corrispondere 0 o più repititions di "ABC".

* Non è solo il modificatore:
  • A + dice di corrispondere 1 o più A caratteri.
  • A? dice di corrispondere 0 o 1 A caratteri.
  • A (4) dice di corrispondere esattamente 4 A caratteri.
  #5 (permalink)  
Old 09-27-2006
aigles's Avatar
Aigles aigles is online now Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: aprile 2004
Località: Bordeaux, Francia
Messaggi: 1.433
Il -r opzione non è disponibile su tutti i sapori Unix.
AIX sed non supporta questa opzione.

Jean-Pierre.
  #6 (permalink)  
Old 09-27-2006
ghostdog74 ghostdog74 is offline Forum Advisor  
Utente Registrato
  
 

Join Date: Sep 2006
Interventi: 2.555
Alternative, senza espressione regolare


Codice:
#!/usr/bin/python
string = "some text in front From here in the middle to here at the end"
fromindex = string.index("From here")
toindex = string.index("to here")
tobeReplace = string[ fromindex : toindex + len("to here") ]
string.replace( tobeReplace , "new text")

Uscita:

Codice:
'some text in front new test at the end'

Closed Thread

Segnalibri

Tag
regex, le espressioni regolari

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 11:29 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0