Descompacte os arquivos em ordem alfabética

2

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

    
por Michael WS 06.12.2015 / 00:50

1 resposta

2

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.

    
por 06.12.2015 / 01:10

Tags