bash: 최대 개수를 결정하는 방법(최신 버전): ls *.tar.gz cut -c 2-4

bash: 최대 개수를 결정하는 방법(최신 버전): ls *.tar.gz cut -c 2-4

안녕하세요. 파일의 최대 개수(최신 버전)를 얻으려고 합니다.

디렉토리에 여러 개의 파일이 있는데 tar.gz일부 소프트웨어의 버전 형식은 입니다 v${version_number}_software.tar.gz. 여기서 ${version_number}은 세 자리 숫자입니다.

실행하면 ls *.tar.gz | cut -c 2-4다음과 같은 결과가 나타납니다.

100
102
684
696
705

가장 높은 값(이 경우 705)을 얻으려면 다음에 무엇을 실행해야 합니까(또는 ls 또는 cut 구문에서 무엇을 변경해야 합니까)?

몇 가지를 시도했지만 제 능력 grep으로 는 awk조금 sed부족합니다. 어떤 단서도 주시면 감사하겠습니다!

답변1

맙소사, 가장 높은 값이 항상 마지막 줄에 나타나는 것을 발견했을 수도 있습니다. :-)

그래서:

ls -d -- *.tar.gz | cut -c 2-4 | tail -n 1

이것은. 이 질문은 미래 세대에게 남겨주세요

편집: 그러나 Lambert가 아래에서 제안한 것처럼,

ls -d -- *.tar.gz | cut -c 2-4 |sort -n|tail -n 1

출력이 숫자로 정렬되도록 하는 것이 가장 좋습니다 (그렇지 않으면 ls정렬 순서가 대/소문자를 구분하는 로케일에서 V999.tar.gz출력이 먼저 나올 수 있음 ). v100.tar.gz안타깝게도 그는 답변으로 게시하지 않았습니다.

관련 정보