0

すべて .gz ファイルにある 1 年分のログ ファイルがあります。これらすべてを一度に現在のディレクトリに抽出するために使用できるコマンドはありますか? *.gz を解凍しようとしましたが、うまくいきません。他の提案はありますか?

4

1 に答える 1

0

シェルスクリプト?

#!/bin/ksh

TEMPFILE=tempksh_$$.tmp                                          #create a file name
> $TEMPFILE                                                      #create a file w/ name

ls -l | grep '.*\.gz$' \                                         #make dynamic shell script
      | awk '{printf "unzip %s;\n", $9;}' \                      #with unzip cmd for each item
      >>  $TEMPFILE                                              #and write to TEMPFILE


chmod 755 $TEMPFILE                                              #give run permissions
./$TEMPFILE                                                      #and run it
rm -f $TEMPFILE                                                  #clean up

テストされていませんが、私はあなたがアイデアを得ると思います....

実際には少しいじって、はるかに簡単になります...

 set -A ARR *.gz;
 for i in ${characters[@]}; do `unzip $i`; done;
 unset ARR;
于 2012-08-24T17:20:53.087 に答える