Ich habe zwei große Dateien (~ 10GB) wie folgt:subtrahieren eine konstante Anzahl von einer Spalte
file1.csv
name,id,dob,year,age,score
Mike,1,2014-01-01,2016,2,20
Ellen,2, 2012-01-01,2016,4,35
.
.
file2.csv
id,course_name,course_id
1,math,101
1,physics,102
1,chemistry,103
2,math,101
2,physics,102
2,chemistry,103
.
.
Ich möchte 1 von den "id" Spalten dieser Dateien subtrahieren:
file1_updated.csv
name,id,dob,year,age,score
Mike,0,2014-01-01,2016,2,20
Ellen,0, 2012-01-01,2016,4,35
file2_updated.csv
id,course_name,course_id
0,math,101
0,physics,102
0,chemistry,103
1,math,101
1,physics,102
1,chemistry,103
Ich habe awk '{print ($1 - 1) "," $0}' file2.csv
versucht, aber nicht bekommen, das richtige Ergebnis:
-1,id,course_name,course_id
0,1,math,101
0,1,physics,102
0,1,chemistry,103
1,2,math,101
1,2,physics,102
1,2,chemistry,103
Danke, aber 'awk '{$ 1 = $ 1-1; print $ 0}' file2.csv 'gibt nur die erste von 1 subtrahierte Spalte aus. Ich brauche alle Spalten in der Ausgabe. – Malgi
Mein schlechtes. Ich habe das Skript aktualisiert, um das Eingabefeldtrennzeichen in Komma sowie das Ausgabefeldtrennzeichen zu ändern – JNevill
Dank @JNevill. Du hast meinen Tag gerettet ;) – Malgi