![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
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 ![]() |
|
||||
|
* 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' |
|
||||
|
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.
* Non è solo il modificatore:
|
|
||||
|
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' |
![]() |
| Segnalibri |
| Tag |
| regex, le espressioni regolari |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|