解压缩子目录bash中的文件

时间:2015-08-31 08:41:44

标签: bash gunzip

我有一个名为test1的目录,其中包含多个目录。在每个目录test1/*/中,都有一个我要解压缩的*.gz文件。我尝试编写这段代码,但它不起作用,任何帮助都会受到赞赏。

for folder in test1/*/; do find . -name "*.gz" | while read filename; do gunzip -d $filename;done ;done

3 个答案:

答案 0 :(得分:0)

gunzip test1/*/*.gz

gunzip将在其所在的目录中提取该文件。

答案 1 :(得分:0)

您可以使用find执行此操作:

cd test1
find . -name "*.gz" -execdir tar xzf '{}' \;

请记住,unzip命令仅适用于.zip个文件。

PS:如果未使用.gz创建tar czf个文件,请改用gunzip

find . -name "*.gz" -execdir gunzip '{}' \;

答案 2 :(得分:0)

我编辑了我的命令,它现在有效:

find ${path} -name "*.gz" | while read filename; do gunzip -d $filename; done