Bash를 사용하면 알파벳순으로 나열된 특정 위치에서 파일을 찾을 수 있어야 합니다. 예를 들어, a, b, c, d, e
디렉토리에 파일이 있고 세 번째 파일을 찾으려면 를 반환해야 합니다 c
. 다섯 번째 파일을 원하면 e
.
도와주셔서 감사합니다. 표현이 서툴렀다면 죄송합니다. 나중에 방법이 생각나면 다시 설명하겠습니다.
답변1
그리고 zsh
:
printf '%s\n' *([5])
숨김이 아닌 다섯 번째 파일을 어휘 순서대로 제공합니다. *(D[5])
숨겨진 파일을 포함 하도록 변경합니다 ( 및 는 포함하지 않음) .
...
Bourne과 같은 쉘에서는 동일한 작업을 수행할 수 있습니다.
set -- *
printf '%s\n' "$5"
답변2
이는 모든 쉘에서 작동합니다.ls | awk "NR==$fileIndex{ print; }"
설명하다:
ls
디렉토리의 모든 파일을 알파벳순으로 반환하고, 파이프는 ls
각 파일을 자체 줄바꿈으로 실행하고 awk "NR==$fileIndex{ print; }"
에서 정의한 줄 번호를 인쇄합니다 $fileIndex
.