특정 문자열이 포함된 행만 추출한 후 추출된 행의 끝 부분에 있는 숫자를 낮은 값에서 높은 값 순으로 정렬하는 방법

특정 문자열이 포함된 행만 추출한 후 추출된 행의 끝 부분에 있는 숫자를 낮은 값에서 높은 값 순으로 정렬하는 방법

다음 3줄 예제는 다음을 통해 추출되었습니다.

grep  "Time to convert event = "[1-9] output.log

하지만 낮은 숫자에서 높은 숫자로 정렬할 수 있어야 합니다.Time to convert event = x.xxxxxx

이것이 어떻게 달성될 수 있습니까?

2019-10-31 07:18:17.770 INFO [WORKER_Thread-4] [blahblah:212] [userID:] [eventID:] [objectID:] [] Time to convert event = 5.516262
2019-10-31 07:18:17.770 INFO [WORKER_Thread-4] [blahblah:212] [userID:] [eventID:] [objectID:] [] Time to convert event = 19.516262
2019-10-31 07:18:17.770 INFO [WORKER_Thread-4] [blahblah:212] [userID:] [eventID:] [objectID:] [] Time to convert event = 0.316262

답변1

sorta) 필드 구분 기호( -t) 지정, b) 필드별 정렬 -k, c) -n숫자순 정렬을 허용합니다.

grep "Time to convert event = [1-9]" output.log | sort -n -t= -k2

=숫자 직전에 하나만 활용하려면 필요합니다.

관련 정보