Ciao,
Ho un file .csv di circa 3000000 righe nel seguente formato (ridotto per semplicità sono più di tre righe):
codice:
1,1,22.5714
1,2,22.8347
1,3,23.1627
@
3,1,22.1473
3,2,22.7027
3,3,22.7747
@
5,1,22.644
5,2,22.7653
5,3,22.6863
Quello che voglio ottenere è un altro file in cui nella prima colonna i numeri siano sequenziali, esemplificando dovrebbe diventare così:

codice:
1,1,22.5714
1,2,22.8347
1,3,23.1627
@
2,1,22.1473
2,2,22.7027
2,3,22.7747
@
3,1,22.644
3,2,22.7653
3,3,22.6863
L'ho scritto in java ma è altamente inefficiente ci mette ore e fin ora non son riuscito a terminare l'esecuzione...
codice:
public void rinominaPrimaColonna(String inputFile) throws IOException{
		String line = "";
		String output = "";
		String s[] = inputFile.split("\\.");
		String outFile = s[0]+"_t1.csv";
		
		FileWriter fw = new FileWriter(new File(outFile));
		
		BufferedReader orig = new BufferedReader(new FileReader(inputFile));
		
		int i = 1;
		
		while((line = orig.readLine()) != null){
			
			if(!line.equals("@")){
				
				String item[] = line.split(",");
				output += i + "," + item[1] + "," + item[2] + "\n";
				
			}
			else{
				output += line + "\n";
				i++;
			}
		}
		fw.write(output);
		fw.flush();
		fw.close();
	}
Potete aiutarmi a tradurlo in bash?

Grazie