Распаковать файлы в алфавитном порядке

Распаковать файлы в алфавитном порядке

Есть ли способ распаковать в stdout в Linux в алфавитном порядке? Я распаковываю в файл fifo, и файлы выходят в неправильном порядке

решение1

Программа unzipбудет извлекать файлы в том порядке, в котором они появляются в архиве. Если файлов не так много, вы можете составить список файлов для извлечения, отсортировать его и запустить unzipв цикле для извлечения каждого в желаемом порядке.

Что-то вроде (конечно же, сценарий):

#!/bin/sh                                                                  
FILE=$1
unzip -qq -l $1 | awk '{print $4; }' |sort |\
while :
do
    read name
    [ -z "$name" ] && break
    unzip -p $1 "$name"
done

Параметр -qqподавляет unzipзаголовок, позволяя использовать его awkдля печати только имен файлов.

Связанный контент