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
Come eliminare una riga vuota prima dal file aoussenko Shell scripting e di programmazione 4 06-20-2008 01:05 PM
eliminare spazio vuoto nella linea di inizio della karthikn7974 Shell scripting e di programmazione 4 05-07-2008 05:40 AM
come eliminare il testo dalla linea di partenza fino a pattern1 prima linea pattern2? repudi8or Shell scripting e di programmazione 5 04-15-2008 10:25 PM
come eliminare linea con le corrispondenti linee di testo e subito dopo orahi001 UNIX for Dummies Domande & Risposte 6 01-15-2008 12:34 AM
regex per eliminare più righe vuote in un file? fedora Shell scripting e di programmazione 6 10-11-2007 05:36 PM

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-18-2008
one71 one71 is offline
Utente Registrato
  
 

Iscriviti Data: febbraio 2008
Interventi: 10
sed: eliminare regex linea e riga successiva se vuota

Salve,

Voglio scrivere un sed script che da


Codice:
batiato:

batiato/giubbe:
pip_b.2.txt
pip_b.3.txt
pip_b.3mmm.txt

bennato:

bennato/peterpan:
123.txt

consoli:
pip_a.12.txt

daniele:

daniele/anna:
abc.txt

procuces


Codice:
batiato/giubbe:
pip_b.2.txt
pip_b.3.txt
pip_b.3mmm.txt

bennato/peterpan:
123.txt

consoli:
pip_a.12.txt

daniele/anna:
abc.txt

Vorrei immaginare qualcosa di simile:
"se una riga contenente": "è seguita da una riga vuota cancellare entrambe le linee (la linea con": "e la riga vuota)"
vale a dire qualcosa di simile, in generale,
se una riga contenente regex1 è seguita (subito dopo) da una linea contenente regex2 eliminare entrambe le linee.

se sarebbe su una sola riga vorrei fare: sed '/ regex1 .* regex2 / d' ->
come si sviluppa questo comando su 2 righe? Considerare cappello e nel mio caso regex2 è una riga vuota (ad esempio ^ $).

grazie
  #2 (permalink)  
Old 09-18-2008
one71 one71 is offline
Utente Registrato
  
 

Iscriviti Data: febbraio 2008
Interventi: 10
oh yes! ora funziona!
Grazie mille e grazie per la spiegazione troppo

Ultimo a cura di one71; al 09/18/2008 06:59 AM..
  #3 (permalink)  
Old 09-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
Scusa, ho inviato la mia prima risposta, anche sulla base di una sommaria lettura della tua domanda.


Codice:
sed '/:$/!b;N;/:\n$/d' input.txt

Ecco una breve spiegazione:

/:$/! b - se non una riga termina con i due punti, a soli saltare alla fine dello script e la stampa.
N - si tratta di una linea che termina con i due punti; recuperare la riga successiva e colla insieme.
/: \ n $ / d - se il combinato due linee corrispondono a questo modello, eliminare
altro, la stampa

\ N cosa funziona in modo diverso in diverse versioni di sed, Ma se non funziona, provate con un letterale newline, con o senza un backslash.

Ultimo a cura di epoca; al 09/18/2008 06:56 AM.. Motivo: Nota su \ n in diverse versioni di sed
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 è 05:52 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