![]() |
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.
|
|
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 |
| Script in Perl per la scansione di linee di ritorno | gholdbhurg | Shell scripting e di programmazione | 3 | 03-18-2008 12:33 PM |
| Riferimento: WebObjects 5.4.1 Riferimento | iBot | UNIX e Linux RSS News | 0 | 03-11-2008 09:50 PM |
| Appunti Modifier 0.2.0 (Default succursale) | iBot | Software Uscite - RSS News | 0 | 01-02-2008 05:00 PM |
| indietro riferimento errore | apoorvasharma80 | Shell scripting e di programmazione | 4 | 08-22-2006 11:25 AM |
| Codice bidimensionale array in Perl sotto | fotone | Shell scripting e di programmazione | 5 | 04-16-2003 05:52 AM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
Perl: Rimettersi riferimento da s modificatore
Il mio inserimento del testo è il seguente pattens:
Codice:
func_a(3,
4,
5);
Codice:
func_b(3,
4,
5,
6);
Codice:
perl -p -e "s/func_a\((.*)?\);/func_b(\1,\n6)/s" < file |more |
|
||||
|
Sì, ho usato al posto di $ 1 \ 1. Penso che non fa alcuna differenza.
Quando ho i modelli che non dispongono di nuove linee in essi, come ad esempio: Codice:
func_a(3); Codice:
perl -p -e "s/func_a\((.*)?\);/func_b($1,\n6)/s" < file |more |
|
||||
|
Il problema è che con perl -p, vi sono solo la lettura e l'esame di una riga alla volta. Così il pattern di corrispondenza non viene applicato a tutto ciò che a cavallo della linea di confine, anche se hai la / s modificatore. È possibile che la correzione con la lettura di tutte le linee in una sola volta, con perl -0777 O qualcosa di equivalente.
Cfr. anche il Perl FAQ, che è una discussione approfondita di questo argomento. |
|
||||
|
perl dovrebbe mi hanno dato un messaggio di errore / avvertimento in quanto il modificatore s non è applicabile al-p.
Comunque, ecco cosa ho provato, ma questa volta ho nulla outputted: Codice:
perl -e -0777 "s/func_a\((.*)?\);/func_b(\1,\n6)/s" < file |more Codice:
perl -e "BEGIN {$/=undef} s/func_a\((.*)?\);/func_b(\1,\n6)/s"
|
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|