Puede agregar una coma a OFS
(Separador de campo de salida):
awk -F"," 'BEGIN { OFS = "," } {$6="2012-02-29 16:13:00"; print}' input.csv > output.csv
Salida:
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
EDITAR para responder al comentario de SirOracle
:
Desde awk
página 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.
Así que asigna tu fecha a una variable de shell y úsala dentro de awk
:
mydate=$(date)
awk -v d="$mydate" -F"," 'BEGIN { OFS = "," } {$6=d; print}' input.csv > output.csv
Yo haría:
awk '{ printf("%s,2012-02-29 16:13:00\n", $0); }' input.csv > output.csv
Esto codifica el valor, pero también lo hace su código.
O puede usar sed
:
sed 's/$/,2012-02-29 16:13:00/' input.csv > output.csv