Il 21/03/2012 12:25, [email protected] ha scritto:
Parto da un file stat.csv, che (solo in un paio di possibili campi)
contiene delle lettere accentate. Per ragioni che non vi sto a dettagliare
ho bisogno di dividere le righe in due: ciò che sta prima di "|totStra|"
e ciò che sta dopo.

Ho pensato di risolvere la questione usando sed come segue:
$ sed -e 's/|totStra|.*$//'<stat.csv>primaDtotStra.csv
$ sed -e 's/^.*|totStra|/totStra|/'<stat.csv>dopoDtotStra.csv

La prima riga funziona come mi aspetterei,[...]
La seconda, invece, non funziona sempre... [...]

Puoi portare un esempio, perché:

$ A='àèéìòù abcd 0123?!;,|totStra|questa parte funziona'

$ echo "$A" | sed -e 's/|totStra|.*$//'
àèéìòù abcd 0123?!;,

$ echo "$A" | sed -e 's/^.*|totStra|/totStra|/'
totStra|questa parte funziona

forse mi sono perso qualche cosa?

--
Alessandro T.

R: Perché leggiamo dall'alto al basso e da sinistra a destra.
D: Perché dovrei iniziare la risposta all'e-mail dopo il testo citato?


--
Per REVOCARE l'iscrizione alla lista, inviare un email a [email protected] con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a [email protected]

To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]

Rispondere a