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: