"for in *do" 루프의 결과를 되돌립니다.

"for in *do" 루프의 결과를 되돌립니다.

중복 가능성:
for 루프를 어떻게 뒤집나요?

for in 루프를 뒤집는 쉬운 방법이 있습니까? 스크립트의 경우 파일을 역순으로 처리하고 싶습니다.

그래서 대신:

for file in *.jpg;
  do echo $file;
done

결과

001.jpg
002.jpg
003.jpg
...
150.jpg

나는 결과를 원한다

150.jpg
149.jpg
148.jpg
...
001.jpg

답변1

당신은 그것을 사용할 수 있습니다

array=(*.jpg)
for ((i = ${#array[@]} - 1;i >= 0;i--)); do
    echo ${array[i]}
done

답변2

주어진 예에서 당신은 사용할 수 있습니다

for num in `seq -w 150 -1 1`
  do echo $num.jpg
done

물론 이는 와일드카드를 실제로 반전시키지 않고 외부에서 시퀀스를 생성하므로 정확히 동일하지는 않습니다.

관련 정보