J'ai un script awk
, new.awk
:
BEGIN { FS = OFS = "," }
NR == 1 {
for (i = 1; i <= NF; i++)
f[$i] = i
}
NR > 1 {
begSecs = mktime(gensub(/[":-]/, " ", "g", $(f["DateTime"])))
endSecs = begSecs + $(f["TotalDuration"])
$(f["CallEndTime"]) = strftime("%Y-%m-%d %H:%M:%S", endSecs)
}
{ print }
J'appelle cela dans Shell
awk new.awk sample.csv
... Mais je peux voir les changements dans le terminal. Comment faire le changement dans le fichier, comme lorsque vous utilisez sed -i
?
Essaye ça.
awk new.awk sample.csv > tmp.csv && mv -f tmp.csv sample.csv