조건의 일부로 CSV를 자르는 방법

조건의 일부로 CSV를 자르는 방법

다음 데이터가 포함된 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

관련 정보