사전순으로 정렬된 배열 출력을 숫자 순서로 변환하는 방법

사전순으로 정렬된 배열 출력을 숫자 순서로 변환하는 방법

다음 형식의 데이터가 포함된 텍스트 파일이 있습니다.

int array[0]
int array[1001]
int array[1002]
int array[1003]
int array[2]
int array[2001]
int array[2002]
...

즉, 숫자는 일종의 사전적 순서로 나열되어 있는 것처럼 보입니다. 파일 내용을 다음과 같이 정렬하고 싶습니다.

int array[0]
int array[1]
int array[2]
int array[3]
int array[4]
int array[5]
int array[6]
...

이 정렬 변환을 어떻게 수행합니까? sort일을 끝내기에 충분하지 않은 것 같습니다.

답변1

구분 기호 sort에 숫자를 사용할 수 있습니다 [.

sort -t\[ -nk2,2 <<\IN
int array[0]
int array[1001]
int array[1002]
int array[1003]
int array[2]
int array[2001]
int array[2002]
IN 

산출

int array[0]
int array[2]
int array[1001]
int array[1002]
int array[1003]
int array[2001]
int array[2002]

답변2

텍스트와 숫자가 있는 경우 다른 옵션은 다음과 같습니다.--version-sort

sort -V

관련 정보