次のデータを含むCSVファイルがあります。
time t_count state hour
_____ ________ _____ _____
1 10 2 1
2 12 2 1
3 30 2 1
4 12 2 1
1 9 3 1
2 18 3 1
6 27 3 1
1 18 4 1
2 30 4 1
9 27 4 1
.......................................
......................................
2 30 2 2
8 18 2 2
3 36 2 2
3 6 3 2
6 19 3 2
8 28 3 2
1 19 4 2
2 36 4 2
9 30 4 2
.....................................
.....................................
....................................
同様に、週と時間ごとに時間とt_countがあります。状態は2から99まで、時間は1から23までです。したがって、このCSVを次のように各週と時間ごとに各CSVに分割する必要があります。
state_2_hour_1.csv
1 10 2 1
2 12 2 1
3 30 2 1
4 12 2 1
state_3_hour_1.csv
1 9 3 1
2 18 3 1
6 27 3 1
...
state_2_hour_2.csv
2 30 2 2
8 18 2 2
3 36 2 2
など。
答え1
このawkコマンドを試してください。
awk 'NR>2{filename="state_"$3"_hour_"$NF".csv"; print $0 > filename}' input.csv