문제

표준화 된 기능에만 의존하고 싶은 일부 빌드 스크립트를 연구하고 있습니다. 일부 파일을 버전별로 정렬해야합니다. 파일이 Bar-1이라고 가정합니다. {0,2,3} bar-11. {0,2,3}.

기본적으로 LS는 다음과 같습니다.

bar-1_0
bar-11_0
bar-11_2
bar-11_3
bar-1_2
bar-1_3

내가 원하는 것을 얻는 것은 'ls -v'를 사용하기 쉽습니다.

bar-1_0
bar-1_2
bar-1_3
bar-11_0
bar-11_2
bar-11_3

문제는 그 것입니다 'ls -v'는 표준이 아닙니다. 기준 종류 이전 버전의 사양을 볼 수는 있지만 원하는 옵션이 부족한 것 같습니다.

누구든지 내 자신의 종류의 루틴을 작성하지 않는이 효과를 달성 할 수있는 휴대용 방법을 제안 할 수 있습니까?

고마워요, Rhys

도움이 되었습니까?

해결책

sort -n -t- -k2 당신이 원하는 것을하는 것 같습니다. -n 숫자 (예 : 알파벳이 아닌) 정렬을 제공합니다. -t- 필드 분리기를 설정합니다 -, 그리고 -k2 두 번째 필드, 즉 버전 번호를 선택합니다.

나의 sort, 우분투에서는 밑줄과 함께 부분을 올바르게 수행하지만 그것이 표준인지 확실하지 않습니다. 확실히, 당신은 먼저 마이너 버전으로 정렬 한 다음 주요 버전으로 정렬 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top