Use a expansão de nome de arquivo do Bash (usando *
, ?
e []
):
$ ls
00.png 03.png 06.png 09.png 12.png 15.png 18.png 21.png
01.png 04.png 07.png 10.png 13.png 16.png 19.png
02.png 05.png 08.png 11.png 14.png 17.png 20.png
$ files=([0-9][0-9].png)
$ echo "${files[@]}"
00.png 01.png 02.png 03.png 04.png 05.png 06.png 07.png 08.png 09.png 10.png 11.
png 12.png 13.png 14.png 15.png 16.png 17.png 18.png 19.png 20.png 21.png
Isso, diferentemente do {0..9}{0..9}.png
, só se expande para nomes de arquivos existentes. Então você poderia fazer:
files=([0-9][0-9].png) # creates an array
for FILE in "${files[@]}"
do
curl "ftp://server/${FILE}"
done
Ou diretamente:
for FILE in [0-9][0-9].png
do
curl "ftp://server/${FILE}"
done