Solución:
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
Producción:
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
:
De 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 asigne su fecha a una variable de shell y úsela dentro awk
:
mydate=$(date)
awk -v d="$mydate" -F"," 'BEGIN { OFS = "," } {$6=d; print}' input.csv > output.csv
Lo haría:
awk '{ printf("%s,2012-02-29 16:13:00n", $0); }' input.csv > output.csv
Esto codifica el valor, pero también lo hace su código.
O puedes usar sed
:
sed 's/$/,2012-02-29 16:13:00/' input.csv > output.csv
Puede configurar el OFS (separador de campo de salida):
awk -F"," 'BEGIN { OFS = "," } ; {$6="2012-02-29 16:13:00" OFS $6; print}' input.csv >output.csv
que me da:
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,
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)