내 파일에 다음 데이터가 있습니다
07020,6880A98805,03/09/2014
04374,6880698805,09/01/2014
05019,6880698805,07/01/2014
05020,2710239905,08/02/2007
05020,2710239905,08/31/2007
05021,2710239905,09/01/2007
05806,2710239905,08/30/2007
05807,8803975905,08/01/2014
05808,8803975905,06/01/2014
06019,6880698805,07/01/2006
06020,6880698805,03/09/2014
07807,8803975905,08/01/2014
13375,3470566899,07/16/2015
13376,3470566899,08/16/2016
058030,6880698805,01/12/201
058030,6880698805,01/12/2015
058030,6880698805,01/12/2015
100004,8803975905,03/09/2014
100005,8803975905,01/01/2015
100006,8803975905,02/01/2015
100007,8626833130,01/16/2016
100031,8803975905,01/12/2015
100031,8803975905,01/12/2015
100031,8803975905,01/12/2015
100032,8803975905,01/01/2015
첫 번째 필드(숫자), 두 번째 필드(숫자), 세 번째 필드를 기준으로 파일 시퀀스를 정렬하고 싶습니다.
포럼을 사용하여 여러 번 시도했지만 다음을 사용하여 원하는 순서를 얻지 못했습니다.
sort -n -t',' -k1.1n,1.15n -k2.1n,2.10n -k3.7n,3.10n -k3.1n,3.2n -k3.4n,3.5n <file_name.csv>
누군가 무엇이 잘못되었는지 알려줄 수 있나요?
답변1
가까워지고 있는 것 같습니다. 그러나 두 번째 필드는 정확히 숫자가 아니기 때문에( A
첫 번째 행에 하나가 있음) 숫자로 정렬할 수 없습니다 .
이것은 나에게 효과적입니다.
sort -t, -k1,1n -k2,2 -k3.7,3.10 -k3.1,3.2n -k3.4,3.5n