Ho un enorme file di testo che assomiglia a questo:
36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,3
36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,8
36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,14
36,53,15596,0.58454577855,0.26119,2.24878677855,0.116147072052964,12
L'output desiderato è questo:
36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,MI-03
36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,MI-08
36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,MI-14
36,53,15596,0.58454577855,0.26119,2.24878677855,0.116147072052964,MI-12
Ho provato altri post pertinenti qui e su altre community ma non sono riuscito a ottenere esattamente quello che volevo.
AGGIORNARE
Questa è la domanda incrociata (per questo volevo sia risposte Unix / perl sia soluzioni batch / powershell) che abbia risposte interessanti.
"1 2 3 4" | awk '{$2=$2;print $0}'
dà:1 2 3 4
(solo 1 spazio (o OFS) lasciato tra i campi). ex2)echo "1,,,2,3,,,,4" | awk -F',' '{$2=$2;print $0}'
dà:1 2 3 4
(le virgole diventano spazi). Potrebbero esserci altri effetti collaterali. Prova e adotta un altro approccio (gsub su una variabile di copia di $ 0, ad esempio) se l'assegnazione di un campo ha effetti collaterali dannosi.