0

ファイル内のファイル名のリストに基づいて、ループで 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

しかし、これは機能していません。

4

3 に答える 3

0

あなたの問題を解決する方法はたくさんあります。

あなたはこれを試すことができますが、より良いものではないかもしれません:

    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
于 2013-08-22T13:53:47.840 に答える