Puoi aggiungere una virgola a OFS
(Separatore campo di output):
awk -F"," 'BEGIN { OFS = "," } {$6="2012-02-29 16:13:00"; print}' input.csv > output.csv
Uscita:
2012-02-29,01:00:00,Manhatten,New York,234,2012-02-29 16:13:00
2012-02-29,01:00:00,Manhatten,New York,843,2012-02-29 16:13:00
2012-02-29,01:00:00,Manhatten,New York,472,2012-02-29 16:13:00
2012-02-29,01:00:00,Manhatten,New York,516,2012-02-29 16:13:00
MODIFICA per rispondere al commento di SirOracle
:
Da awk
pagina man:
-v var=val
--assign var=val
Assign the value val to the variable var, before execution of the program begins. Such
variable values are available to the BEGIN block of an AWK program.
Quindi assegna la tua data a una variabile di shell e usala all'interno di awk
:
mydate=$(date)
awk -v d="$mydate" -F"," 'BEGIN { OFS = "," } {$6=d; print}' input.csv > output.csv
Farei:
awk '{ printf("%s,2012-02-29 16:13:00\n", $0); }' input.csv > output.csv
Questo codifica il valore, ma anche il tuo codice.
Oppure puoi usare sed
:
sed 's/$/,2012-02-29 16:13:00/' input.csv > output.csv