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

sed e accentate...



Carissimi,

Ho un problemetto con sed.

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, ovvero viene creato il nuovo
file nel quale tutte le colonne successive alla scritta "|totStra|" sono
state cancellate.
La seconda, invece, non funziona sempre... ovvero, alcune righe restano
intonse. Le righe incriminate contengono tutte delle lettere accentate
prima della stringa di separazione, che evidentemente non vengono
considerate dall'espressione regolare ".*"...
Visto che le righe sono tutto sommano poche, sto risolvendo "a mano", ma
se qualcuno mi sapesse suggerire un modo elegante per convincere sed a
"match-are" le accentate nell'espressione ".*", ne sarei contento.

Grazie!

-- 
http://bodrato.it/papers/


Reply to: