ファイル内のファイル名のリストに基づいて、ループで gunzip コマンドを呼び出しています。ファイルを解凍し、ファイル名のリストを作成したいと思います。
私が試してみました
for i in `cat $file_name`
do
gunzip $i>>temp.txt
done
と
for i in `cat $file_name`
do
echo `gunzip $i`>>temp.txt
done
しかし、これは機能していません。
あなたの問題を解決する方法はたくさんあります。
あなたはこれを試すことができますが、より良いものではないかもしれません:
OUTPUT_TEMP_TXT="temp.txt"
for GFILE in $(cat $file_name)
do
# Because there is only 1 file in a GZIP archive
FILENAME=$(gunzip -v $GFILE 2>&1)
RCODE=$?
if [[ RCODE -eq 0 ]]
then
echo ${FILENAME} | cut -d':' -f1 | sed -e 's/\.gz$//gi' -e 's/\.tgz$/\.tar/gi' >> ${OUTPUT_TEMP_TXT}
else
echo "Can't extract $GFILE" >> ${OUTPUT_TEMP_TXT}
fi
done