按字母顺序解压文件

按字母顺序解压文件

有没有办法在 Linux 中按字母顺序解压到 stdout?我正在解压到一个 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仅打印文件名。

相关内容