Descompacte arquivos em ordem alfabética

2

Existe alguma maneira de descompactar para stdout no linux por ordem alfabética? Estou descompactando para um arquivo fifo e os arquivos estão saindo com defeito

Michael WS
fonte

Respostas:

2

O unzipprograma estará extraindo arquivos na ordem em que aparecem no arquivo morto. Se não houver um grande número de arquivos, você poderá criar uma lista de arquivos a serem extraídos, classificá-los e executar unzipum 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 -qqopção para unzipsuprime o cabeçalho, permitindo awka impressão de apenas os nomes dos arquivos.

Thomas Dickey
fonte
11
Eu não sabia que -qq estava disponível. Isso torna as coisas mais fáceis
Michael WS