아래 예에서 텍스트 파일을 날짜별로 올바르게 정렬하려면 어떻게 해야 합니까? 문제는 이것이 실제로 작동하지 않는다는 것이고, 양식의 길이가 고정되어 있지 않기 때문에 sort -k1,1
점 표기법을 사용할 수 없다는 것입니다 . sort -k1.6,1.9 -k1.4,1.4 -k1.1,1.2
내가 이런 끔찍한 일을 생각해냈어
awk '{split($1,a,".");print a[1],a[2],a[3],$2}' test.txt | sort -k3,3 -k2,2 -k1,1 | awk '{print $1 "." $2 "." $3,$4}'
작동하는 동안 나는 그 복잡성을 좋아하지 않습니다. 이것을 단순화할 수 있고 그냥 사용하는 것이 더 낫습니까 sort
?
25.3.2020 26698
24.3.2020 22600
23.3.2020 19624
22.3.2020 17377
21.3.2020 15584
20.3.2020 13704
4.3.2020 407
3.3.2020 340
2.3.2020 262
1.3.2020 211
29.2.2020 200
28.2.2020 193
27.2.2020 170
26.2.2020 135
11.2.2020 74
10.2.2020 72
9.2.2020 64
8.2.2020 62
7.2.2020 62
6.2.2020 56
5.2.2020 53
2.2.2020 43
1.2.2020 38
31.1.2020 37
30.1.2020 34
28.1.2020 28
27.1.2020 20
답변1
노력하다:
sort -n -t. -k3,3 -k2,2 -k1,1 test.txt
-n
숫자순으로 정렬-t .
필드 구분 기호로 점 문자 사용