Sie können ein Komma zu OFS
hinzufügen (Ausgabefeld-Trennzeichen):
awk -F"," 'BEGIN { OFS = "," } {$6="2012-02-29 16:13:00"; print}' input.csv > output.csv
Ausgabe:
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
BEARBEITEN um den Kommentar von SirOracle
zu beantworten :
Ab awk
Manpage:
-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.
Weisen Sie also Ihr Datum einer Shell-Variablen zu und verwenden Sie es in awk
:
mydate=$(date)
awk -v d="$mydate" -F"," 'BEGIN { OFS = "," } {$6=d; print}' input.csv > output.csv
Ich würde Folgendes tun:
awk '{ printf("%s,2012-02-29 16:13:00\n", $0); }' input.csv > output.csv
Dadurch wird der Wert fest codiert, aber auch Ihr Code.
Oder Sie können sed
verwenden :
sed 's/$/,2012-02-29 16:13:00/' input.csv > output.csv