アウトプットができる技術者に

it's a time to take a new step !

圧縮解凍コマンド

gzでの圧縮 tar zcvf sample.tar.gz target_dir
gzでの圧縮(ディレクトリ変更) tar zcvf sample.tar.gz -C target_dir .
gzでの解凍 tar zxvf sample.tar.gz
ディレクトリを変更下の圧縮の解説

ディレクトリごと 圧縮すると解凍時に ディレクトリ構成も残ります。
それを回避する場合は、-C オプションを使う。

例えば、こんな構成だった場合

./csv
./csv/2.csv
./csv/1.csv

こうする

tar zcvf csv.tar.gz -C csv 1.csv 2.csv

これでも同じ結果

tar zcvf csv.tar.gz -C csv .

ファイル名を「.」にすると、対象ディレクトリの中の全てのファイルが対象になる。

特定のファイルのみを tar で圧縮する
  • ついでに、archiveフォルダに入れる

sample1

find csv -name "*.csv" -printf "%f " |\
xargs tar --remove-files -zcvf csv/arch/csv.tar.gz -C csv

sample1では --remove-files で圧縮前のファイルを消している
また、findのprintf %f で出力をファイル名のみにしている。

sample2

files=`find csv -name "*.csv" -printf "%f "`
tar zcvf csv/arch/csv.tar.gz -C csv ${files}