OFS
にカンマを追加できます (出力フィールドセパレーター):
awk -F"," 'BEGIN { OFS = "," } {$6="2012-02-29 16:13:00"; print}' input.csv > output.csv
出力:
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
編集 SirOracle
のコメントに答える :
awk
から マニュアルページ:
-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.
したがって、日付をシェル変数に割り当て、 awk
内で使用します :
mydate=$(date)
awk -v d="$mydate" -F"," 'BEGIN { OFS = "," } {$6=d; print}' input.csv > output.csv
私なら:
awk '{ printf("%s,2012-02-29 16:13:00\n", $0); }' input.csv > output.csv
これは値をハード コードしますが、コードも同様です。
または sed
を使用できます :
sed 's/$/,2012-02-29 16:13:00/' input.csv > output.csv