Trasformare un elenco di testo con campi su righe in ASCII delimitato
Jump to navigation
Jump to search
Si supponga di avere un elenco del tipo:
69.000,- 5.500 km 11/2003 180 kW / 245 CV Mercedes-Benz SL 350 Argento metallizzato, Automatico, Benzina, ABS, Airbag, Airbag laterale, Airbag passeggero, Alzacristalli elettrici, Antifurto, Autoradio, Cerchi in lega, Chiusura centralizzata, Climatizzatore I-41058 VIGNOLA (MO) 3 fotografie 50.000,- 11.000 km 07/2003 180 kW / 245 CV Mercedes-Benz SL 350 Grigio chiaro metallizzato, Automatico, Benzina, ABS, Adatta a portatori di handicap, Airbag, Airbag laterale, Airbag passeggero, Alzacristalli elettrici, Antifurto, Autoradio, Cerchi in lega, Chiusura centralizzata I-84025 Eboli - Salerno - Sa 48.000,- 15.000 km 05/2003 0 kW / 0 CV Mercedes-Benz SL 350 Blu metallizzato, Automatico, Benzina, Fari Xenon, Interni in pelle, Park distance control, Sistema di navigazione I-100 Roma
Notare che alcuni campi alla fine possono anche mancare, ma i record devono sempre essere separati da una riga bianca o altro..
Si vuole ottenere un file del tipo:
69.000,- ; 5.500 km ; 11/2003 50.000,- ; 11.000 km ; 07/2003 48.000,- ; 15.000 km ; 05/2003
Creare lo script:
cat > prova.awk <<EOFile
#!/usr/bin/awk
# addrs.awk --- simple mailing list program
# Records are separated by blank lines.
# Each line is one field.
BEGIN { RS = "" ; FS = "\n" }
{
print $1,";",$2,";",$3
}
EOFile
Lanciarlo:
awk -f prova.awk lista 69.000,- ; 5.500 km ; 11/2003 50.000,- ; 11.000 km ; 07/2003 48.000,- ; 15.000 km ; 05/2003