我有一个名为test1
的目录,其中包含多个目录。在每个目录test1/*/
中,都有一个我要解压缩的*.gz
文件。我尝试编写这段代码,但它不起作用,任何帮助都会受到赞赏。
for folder in test1/*/; do find . -name "*.gz" | while read filename; do gunzip -d $filename;done ;done
答案 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