The UNIX and Linux Forums  

Go Back   UNIX e Linux Forum > Inizio Forum > UNIX for Dummies Domande & Risposte
.
google unix.com



UNIX for Dummies Domande & Risposte Se non sei sicuro dove pubblicare un UNIX o Linux domanda, posta da qui. Tutti i neofiti di Linux e UNIX benvenuto!

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Rimozione di specifiche linee di catgovind Shell scripting e di programmazione 3 04-30-2008 06:40 AM
Come leggere una sezione specifica e modificare in kn.naresh Shell scripting e di programmazione 2 04-18-2008 01:30 AM
Stampa con linee specifiche awk NF jehrome_rando Shell scripting e di programmazione 1 03-13-2007 04:23 AM
la visualizzazione di specifiche linee di dakid UNIX for Dummies Domande & Risposte 3 05-25-2006 04:25 AM
Come si linee specifiche in un file? hedgehog001 UNIX for Dummies Domande & Risposte 2 08-23-2005 01:04 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 05-18-2008
Jenny.palmy Jenny.palmy is offline
Utente Registrato
  
 

Iscriviti Data: aprile 2008
Interventi: 16
Come usare sed modificare linee specifiche

Qualcuno potrebbe dirmi come posso usare sed di modificare le linee seguenti linee specifiche? il file è il seguente:

"TEST/SI1573.lab"
H 3670 8920 #
8920 9530 hh
9530 10694 ih
.
"TEST/DR1/FAKS0/SI2203.lab"
H 9730 9580 #
9580 9840 dh
9840 10652 ix
10652 11997 r
........

Voglio modificare il primo campo a 0 delle linee che segue le linee cominciato con "PROVA. Il file dopo l'operazione dovrebbe essere:
"TEST/SI1573.lab"
H 0 8920 #
8920 9530 hh
9530 10694 ih
.
"TEST/DR1/FAKS0/SI2203.lab"
H 0 9580 #
9580 9840 dh
9840 10652 ix
10652 11997 r
........
nessuno potrebbe dire il mio modo di farlo? Grazie in anticipo.
  #2 (permalink)  
Old 05-18-2008
epoca era is offline Forum Advisor  
Herder di Inutile Gatti (Su sabbatico)
  
 

Iscriviti Data: marzo 2008
Ubicazione: / ci / è / solo / bin / sh
Interventi: 3.652

Codice:
sed -e '/^"TEST/{p;N;s/.*\n[0-9]*/0/;}' filename

Ci sono molte diverse versioni di sed, Così il vostro potrebbe non capire esattamente lo stesso dialetto, come il mio.

Questo aspetto di ' "test' (con una doppia apertura citazione) all'inizio della riga. Se trovata, stampe che linea (p), E aggiunge la riga successiva al pattern spazio (N). Questo fa sì che il modello di spazio per contenere due righe; TEST linea e la seguente riga, separati da una riga vuota. Poi si sostituisce (s// /), La prima riga del modello di spazio, il capo ", e ogni numero, subito dopo la nuova riga con uno zero. A quel punto, si sono fatti; ciò che è a sinistra nel modello spazio verrà stampato come al solito.

sed sintassi è molto laconica; se non si dispone di uno specifico motivo di ricorso sed per questo, forse un equivalente awk o Perl sarebbe più script di manutenzione (soprattutto se non avete molta familiarità con sed).

Ultimo a cura di epoca; al 05/18/2008 06:46 AM.. Motivo: Forse preferiscono awk o Perl, dopo tutto ...?
  #3 (permalink)  
Old 05-18-2008
Jenny.palmy Jenny.palmy is offline
Utente Registrato
  
 

Iscriviti Data: aprile 2008
Interventi: 16
Grazie, funziona.

Mi chiedo come usare awk per farlo.
  #4 (permalink)  
Old 05-18-2008
epoca era is offline Forum Advisor  
Herder di Inutile Gatti (Su sabbatico)
  
 

Iscriviti Data: marzo 2008
Ubicazione: / ci / è / solo / bin / sh
Interventi: 3.652

Codice:
awk '/^"TEST/ { t=1 ; print; next }
t==1 { $1 = "0"; t=0; }1' filename

Questo fa sì che la variabile t essere impostato a 1 per la seguente riga dopo la prova linea. Se questo è il caso, sostituire il primo campo con uno zero, e impostare t torna a zero. La finale 1 cause qualsiasi linea che raggiunge in questo punto lo script per essere stampato. (E 'un stenodattilografo; l'azione predefinita di awk è la stampa, se la condizione è vera, e 1, come una condizione è sempre vera.)
  #5 (permalink)  
Old 05-18-2008
Jenny.palmy Jenny.palmy is offline
Utente Registrato
  
 

Iscriviti Data: aprile 2008
Interventi: 16
Grazie, epoca.

Pensate che si può consigliare qualche libro o mi websit? Vorrei saperne di più su script. Ho sempre incontrare alcuni problemi, e non poteva capire da me.
  #6 (permalink)  
Old 05-18-2008
epoca era is offline Forum Advisor  
Herder di Inutile Gatti (Su sabbatico)
  
 

Iscriviti Data: marzo 2008
Ubicazione: / ci / è / solo / bin / sh
Interventi: 3.652
Uno dei miei favoriti personali sono Kernighan & Pike's L'ambiente di programmazione Unix ma è molto vecchio, così alcune delle periferiche dettagli sono cambiate molto da allora. Un altro è perenne Friedl's Mastering Regular Expressions, Anche se si potrebbe lottare con essa in prima se non hanno familiarità con gli strumenti che copre.

La O'Reilly sed & Awk libro è una buona introduzione alla sed e awk, anche se ci sono un sacco di tutorial on-line, che sono probabilmente solo come bene.

La sezione FAQ ha più legami; Sono nuovo di Unix. Quali libri devo leggere? - Il Forum UNIX
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 è 09:57 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