experimente este comando awk.
awk 'NR>2{filename="state_"$3"_hour_"$NF".csv"; print $0 > filename}' input.csv
Eu tenho um CSV que possui os seguintes dados
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
.....................................
.....................................
....................................
Da mesma forma, tenho tempo e t_count para cada estado e cada hora.Tenho o formulário de estado de 2 a 99 e hora de 1 a 23.Então, preciso dividir este CSV em cada CSV para cada estado e cada hora como
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
e assim por diante.
experimente este comando awk.
awk 'NR>2{filename="state_"$3"_hour_"$NF".csv"; print $0 > filename}' input.csv
Tags text-processing awk sed split csv