Re: rinumerazione valore in un colonna relazionata con altra colonna
On 25/06/2013 16:44, MaX wrote:
qualche idea?
Puoi provare con awk.
Se il tuo input è ordinato rispetto alla seconda colonna:
awk -F, -v OFS=, 'last != $2{ last=$2; counter=0 } {
$3="\""counter++"\""; print }' input >output
* -F imposta il separatore dei campi per il file di input,
* OFS è quello per il file di output;
* le variabili $i sono i campi, last e counter le ho definite io;
* il comando print stampa i campi della riga corrente dal primo
all'ultimo separati da OFS
Se l'input non è ordinato potresti provare con sort:
sort -t, -k2 input | awk -F, -v OFS=, 'last != $2{ last=$2; counter=0 }
{ $3="\""counter++"\""; print }' >output
oppure usare gli array associativi di awk:
awk -F, -v OFS=, '!counter[$2]{ counter[$2]=0 } {
$3="\""counter[$2]++"\""; print }' input >output
--
Kind regards,
Marco Romano.
Reply to: