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 [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]


Rispondere a