BASH脚本 - 直接解压缩并删除gz文件

时间:2017-07-17 14:29:29

标签: bash gz gunzip

我需要执行两次解压缩:tar然后是内部gz' s。 按照我在bash脚本中使用的代码片段:

for filename in $path; do
    tar -xf $filename -C $untar/$num


    for nc_gz in `ls "$untar"/"$num"/*`; do
          gunzip $nc_gz

    done

    for nc in `ls "$untar"/"$num"/*`; do
          ...
    done
done

它按预期工作:每个tar包含N gz存档,解压缩并删除,同时保留内部未压缩文件。

但是,我想一次解压缩每个gz,以节省磁盘空间。

我试过了:

for filename in $path; do
    tar -xf $filename -C $untar/$num
done    

for nc_gz in `ls "$untar"/"$num"/*`; do
    STEM=$(basename "${nc_gz}" .gz)
    gunzip -c $nc_gz > $untar/$num/$STEM

    nc="$untar"/"$num"/$STEM
    .....
    rm $nc
done

但是gunzip操作也保留了gz文件。

如何编辑我的代码以实现目标?

由于

0 个答案:

没有答案