[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: maledetti a capo!!



On Wed, May 22, 2002 at 08:56:17PM +0200, MaX wrote:
> Il giorno Wed, 22 May 2002 12:35:01 +0200
> 
> >  #commento
> >  linea1\nlinea2\n
> >  #commento
> >  
> >  non lo volevi cosi ?
> 
> scusa, il credevo un loop infinito a causa delle dimensioni del file..
> 
> il tuo scrip funziona, ma non fa ancora quello che mi serve, infatti prova con questo:
> 
> --------------------------
> #commento
> 
> "linea1
> linea2"
> 
> #commento
> 
> "linea 3 abcdef"
> 
> #commento
> --------------------
> 
> ...dovrebbe risultare cosí:
> 
> --------------------------
> #commento
> 
> "linea1\nlinea2"
> 
> #commento
> 
> "linea 3 abcdef"
> 
> #commento
> --------------------
> 
> l'unica differenza é il "\n" tra la linea 1 e 2, e non ci devono essere altre differenze....
> altrimenti puoi non funziona in una altra tool.
Allora, ricapitoliamo.
A te serve che le righe che iniziano con un " e NON finiscono con un "
vengano fatte seguire dalle successive?
Allora:

#!/bin/sed -f
/^".*[^"]$/{
N
s/\n/\\n/
}

Che vuol dire:
/^".*[^"]$/{
	se la riga inizia con " e non finisce con " allora:
N
	leggi anche la riga successiva (a questo punto sed ha in
	"pattern space" le due righe separate dal newline).
s/\n/\\n/
	sostituisci il newline con \n
}
	fine del "ciclo"

(per usarlo, lo metti in un file, diciamo /usr/local/bin/pippo ,
e poi lanci /usr/local/bin/pippo nome-del-file (oppure gli passi
il file in pipe, proprio come con sed)).

Nota: questo non funziona se hai

# commmento
"prima
seconda
e terza riga"
# eccetera

Pero` per farlo funzionare servono altre info: sono ammesse sequenze
tipo
# commento
pippo
"righe tra
virgolette"
# commento
gino
giggi
# eccetera

Ciao,
/dev/null


-- 
To UNSUBSCRIBE, email to debian-italian-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: