【问题标题】:How do you unzip a package with multiple files into separate directories?如何将包含多个文件的包解压缩到单独的目录中?
【发布时间】:2015-09-19 01:24:51
【问题描述】:

例如,如果在我的当前目录中,我有:

AAA.zip
BBB.zip
CCC.zip

每个 *.zip 文件都有

123.csv
456.csv
789.csv

如何将所有包解压到它们各自的目录中,以便拥有:

-AAA
+--- 123.csv
+--- 456.csv
+--- 789.csv
-BBB
+--- 123.csv
+--- 456.csv
+--- 789.csv
-CCC
+--- 123.csv
+--- 456.csv
+--- 789.csv

提前感谢您的宝贵时间

【问题讨论】:

    标签: zip unzip


    【解决方案1】:

    您可以在 bash 中编写 DOS 脚本或等效脚本

    For each file in the directory 
    
       if file has .zip extension
    
            get the name of that file
    
            make directory with the name
    
           copy zip file to the directory
    
           unzip the zip file in that directory
    

    【讨论】:

    • 我很抱歉,早就应该发布我的答案了。我听从了你的建议,效果很好。非常感谢。
    【解决方案2】:

    我试图将我的回复作为对@Abhi 给出的答案的评论发布,但我失败了。仍在学习 stackoverflow 和使用 bash!我使用的脚本是:

    dir=/directory/with/zip/files
    
    for i in $(ls $dir | grep zip); do
    
    zip_folder=$(echo $i | rev | cut -c 5- | rev)
    
    mkdir $dir/$zip_folder
    
    mv $dir/$i $dir/$zip_folder
    
    cd $dir/$zip_folder
    
    unzip $i
    
    cd $OLDPWD
    
    done
    

    【讨论】:

    • 这个问题是专门关于 zip 文件的。很高兴您想发布您的解决方案,但寻找tar 文件解决方案的人可能不会在这里找到它。建议删除,因为您的答案不会增加价值(w.r.t. 已发布的问题)。
    • 你是对的。将改变这一点并发布实际问题的解决方案。 (压缩文件)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    相关资源
    最近更新 更多