O programa unzip
extrairá os arquivos na ordem em que aparecem no arquivo. Se não houver um grande número de arquivos, você pode construir uma lista de arquivos para extrair, classificar e executar unzip
em um loop para extrair cada um na ordem desejada.
Algo como (um script claro):
#!/bin/sh
FILE=$1
unzip -qq -l $1 | awk '{print $4; }' |sort |\
while :
do
read name
[ -z "$name" ] && break
unzip -p $1 "$name"
done
A opção -qq
para unzip
suprime o cabeçalho, permitindo usar awk
para imprimir apenas os nomes dos arquivos.