Есть ли способ распаковать в 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
для печати только имен файлов.