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

Re: script bash



Andrea Barbaglia ha scritto:

> Il file ha un formato abbastanza astruso ed è fatto in questo modo:
> 91190 MACH HRS EARNED ­ RN/SU 14,199.91
> Qualche suggerimento???

Metti a fuoco i delimitatori, non il tipo dei campi. Dato che il primo campo
è numerico, possiamo dire che il primo spazio delimita certamente il primo
campo.
Dato che l'ultimo campo è anche numerico, possiamo dire che l'ultimo spazio
viene appena prima dell'ultimo campo. Quindi conviene usare lo spazio come
delimitatore.
Abbiamo però un problema: lo spazio ci genera vari campi di troppo, ovvero
uno per ogni parola che compone il secondo campo. Sappiamo però che
l'ultimo campo dal punto di vista di awk è sempre il nostro terzo campo.
Quindi dividendo la riga con lo spazio come delimitatore, siamo in grado di
distinguere i campi. In awk c'è il modo per farsi dire quanti sono i campi
(non lo ricordo a memoria) e con quello puoi capire che numero abbia
l'ultimo campo e quanti campi di awk compongano ciò che tu consideri il
secondo campo.
Dato questo "semplice" ragionamento, basta tradurlo in codice awk...



Reply to: