The UNIX and Linux Forums  
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.

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

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 03-17-2008
cooldude cooldude is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2006
Interventi: 44
Perl: Rimettersi riferimento da s modificatore

Il mio inserimento del testo è il seguente pattens:
Codice:
  func_a(3,
         4,
         5);
Vorrei sostituirla con questo:
Codice:
   
  func_b(3,
         4,
         5,
         6);
Sto cercando la seguente espressione, ma non funziona:
Codice:
perl -p -e "s/func_a\((.*)?\);/func_b(\1,\n6)/s" < file |more
Qualsiasi idee? Grazie.
  #2 (permalink)  
Old 03-17-2008
KevinADC KevinADC is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Messaggi: 731
usare $ 1 e $ 6 invece di \ 1 e \ 6, vedere se questo aiuta. Usa singolo virgolette il codice a meno che non si sono le finestre.
  #3 (permalink)  
Old 03-18-2008
cooldude cooldude is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2006
Interventi: 44
Grazie, ma che non funziona. In ogni modo, non sto usando \ 6, ma piuttosto \ n6.
  #4 (permalink)  
Old 03-18-2008
rajut1984 rajut1984 is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2008
Interventi: 3
Usa invece di $ 1 \ 1

Modificare il comando, come qui di seguito ...
perl -p-e "s / func_a \ ((.*)? \); / func_b \ ($ 1, \ n6 \); / s" <file | more
  #5 (permalink)  
Old 03-18-2008
cooldude cooldude is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2006
Interventi: 44
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);
Fare
Codice:
perl -p -e "s/func_a\((.*)?\);/func_b($1,\n6)/s" < file |more
funziona come previsto.
  #6 (permalink)  
Old 03-18-2008
epoca
Valutazione
  
 

Messaggi: n / a
Bit: 0 [Banking]
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.
  #7 (permalink)  
Old 03-18-2008
cooldude cooldude is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2006
Interventi: 44
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
e
Codice:
perl -e "BEGIN {$/=undef} s/func_a\((.*)?\);/func_b(\1,\n6)/s"
Closed Thread

Segnalibri

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 è 12:50 PM.


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