AWK で日付をインクリメントする
こんにちは、私はあなたの助けが必要です。ファイル「test.csv」があり、「6 か月」と「10 日」の日付を増やして、次の出力を得たいと考えています。
test.csv:
"000001","TEST1","2013-05-07 16:02:07","ACTIVE"
"000003","TEST3","2013-05-09 16:02:07","ACTIVE"
"000004","TEST4","2013-05-10 16:02:07","ACTIVE"
"000005","TEST5","2013-05-11 12:02:07","ACTIVE"
出力 test-increment-10days.csv:
"000001","TEST1","2013-05-07 16:02:07","ACTIVE","2013-05-17 16:02:07"
"000003","TEST3","2013-05-09 16:02:07","ACTIVE","2013-05-19 16:02:07"
"000004","TEST4","2013-05-10 16:02:07","ACTIVE","2013-05-20 16:02:07"
"000005","TEST5","2013-05-11 12:02:07","ACTIVE","2013-05-21 12:02:07"
出力 test-increment-6months.csv:
"000001","TEST1","2013-05-07 16:02:07","ACTIVE","2013-11-07 16:02:07"
"000003","TEST3","2013-05-09 16:02:07","ACTIVE","2013-11-09 16:02:07"
"000004","TEST4","2013-05-10 16:02:07","ACTIVE","2013-11-10 16:02:07"
"000005","TEST5","2013-05-11 12:02:07","ACTIVE","2013-11-11 12:02:07"
私はこのコマンドでそれを試しました:
awk -F"\" ,\" " '{{ cmd="日付 \"+%Y-%m-%d %T\" -d \""$3" +10 日\""; コマンド | getline データム; 閉じる (cmd); print $0 ",\""datum"\""}}' test.csv > test-increment-10days.csv
awk -F"\" ,\" " '{{ cmd="日付 \"+%Y-%m-%d %T\" -d \""$3" +6 か月\""; コマンド | getline データム; 閉じる (cmd); print $0 ",\""datum"\""}}' test.csv > test-increment-6months.csv
しかし、私はこの間違った出力を得ています。
テスト増分-10days.csv:
"000001","TEST1","2013-05-07 16:02:07","ACTIVE","2013-05-08 16:02:07"
"000003","TEST3","2013-05-09 16:02:07","ACTIVE","2013-05-10 16:02:07"
"000004","TEST4","2013-05-10 16:02:07","ACTIVE","2013-05-11 16:02:07"
"000005","TEST5","2013-05-11 12:02:07","ACTIVE","2013-05-12 12:02:07"
test-increment-6months.csv:
"000001","TEST1","2013-05-07 16:02:07","ACTIVE","2013-06-07 16:02:07"
"000003","TEST3","2013-05-09 16:02:07","ACTIVE","2013-06-09 16:02:07"
"000004","TEST4","2013-05-10 16:02:07","ACTIVE","2013-06-10 16:02:07"
"000005","TEST5","2013-05-11 12:02:07","ACTIVE","2013-06-11 12:02:07"
「test-increment-10days.csv」の日付は 1 日だけ増分され、「test-increment-6months.csv」の日付は 1 か月だけ増分されます。誰かが助けてくれることを願っています。