![쉘 스크립트를 사용하여 다음 파일 이름을 어떻게 정렬할 수 있습니까? [폐쇄]](https://linux55.com/image/136877/%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%8B%A4%EC%9D%8C%20%ED%8C%8C%EC%9D%BC%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%A0%95%EB%A0%AC%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
쉘 스크립트를 사용하여 다음 파일 이름을 어떻게 정렬할 수 있습니까?
abcd_exp_4_20180706.txt
abcd_exp_3_20180706.txt
abcd_exp_1_20180706.txt
abcd_exp_2_20180706.txt
abcd_exp_5_20180706.txt
abcd_exp_1_20180707.txt
abcd_exp_5_20180707.txt
abcd_exp_4_20180707.txt
abcd_exp_3_20180707.txt
abcd_exp_2_20180707.txt
예상 출력
abcd_exp_1_20180706.txt
abcd_exp_2_20180706.txt
abcd_exp_3_20180706.txt
abcd_exp_4_20180706.txt
abcd_exp_5_20180706.txt
abcd_exp_1_20180707.txt
abcd_exp_2_20180707.txt
abcd_exp_3_20180707.txt
abcd_exp_4_20180707.txt
abcd_exp_5_20180707.txt
답변1
일반적으로 구문 분석의 결과 는 다음 ls
과 같습니다.나쁜 생각. 그러나 모든 파일 이름이 동일한 형식을 따른다는 것을 알고 있는 경우 이는 합리적인 접근 방식입니다.
$ ls | sort -t_ -k4 -k3,3
설명하다
ls |
: ls의 출력을 파이프로 연결합니다...sort -t_ -k4 -k3
: 먼저 네 번째 열(예 : )을 기준으로 정렬한 다음 세 번째 열(예: )_
을 기준으로 정렬하는 구분 기호 로 사용됩니다.20180706.txt
1