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
ファイル名のみを印刷できるようにします。