如何解压缩已压缩两次的文件?

詹姆斯·F

我得到了一组数据文件(csv),这些文件已放入文件夹,然后压缩,然后合并到另一个zip存档中。如何确保所有文件都位于同一目录中,同时又确保不会创建两个名称相同的文件呢?

例如,

data.zip

包含

20141015.zip 
20141008.zip

20141015.zip包含目录20141015,其中包含两个文件,

smith.csv
jones.csv

20141008.zip包含目录20141008,其中还有两个文件smith.csv和johnson.csv,我想以一个目录结尾,

unzipped_data,

其中将包含

20141015-smith.csv
20141015-jones.csv
20141008-smith.csv
20141008-johnson.csv

这个问题告诉我如何解压缩某些文件夹中的所有文件并将它们放到相应的文件夹中,但是我希望将一个文件夹中的所有文件简化为进一步的操作,而且我还面临着两层压缩的问题,而不是只有一个。

adimoise91

如果我了解您的需求,我认为此脚本对您有好处。我正在等待您的评论。:)

说明:创建script.sh并将脚本复制到data.zip归档文件所在的目录中该脚本可以使用任何名称的存档和任何名称的csv。我为您创建了一个通用脚本。如果您需要什么,请发表评论。

#!/bin/bash

currLoc="$PWD"
path="${currLoc}"

cd ${currLoc}

#EXTRACT THE FIRST ARCHIVE IN A TEMP DIRECTORY

for filename in $path/*;
do  
    extension="${filename##*.}"
    if [ "${extension}" == 'zip' ]; then
        unzip $filename -d $path/temp
    fi

done

count=0

for filename in $path/temp/*;
do
    extension="${filename##*.}"         #EXTRACT THE EXTENSION TO COMPAIR IF IS AN ARCHIVE OR NOT
    name=${filename##*/}                #EXTRACT THE NAME OF ZIP FILE WITH EXTENSION
    name=${name%.*}                     #EXTRACT THE NAME OF ZIP FILE WITHOUT EXTENSION
    if [ "${extension}" == 'zip' ]; then
        ((count++))
        unzip $filename -d $path/temp/$count
        for file in $path/temp/$count/*
        do
            ext="${file##*.}"   
            if [ "${ext}" == 'csv' ]; then
                csvFileName=${file##*/}
                mv $path/temp/$count/$csvFileName $path/$name-$csvFileName
            fi
        done
    fi
done

#REMOVE THE TEMP DIRECTORY
rm -r $path/temp

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何解压缩“ .zip”文件?

来自分类Dev

如何解压缩该文件

来自分类Dev

如何解压缩文件

来自分类Dev

解压缩命令说文件已损坏,但不是。如何解压缩ubuntu?

来自分类Dev

解压缩命令说文件已损坏,但不是。如何解压缩ubuntu?

来自分类Dev

如何解压缩* .7z文件?

来自分类Dev

如何解压缩javascript中的gzip文件?

来自分类Dev

如何解压缩霍夫曼编码的文件?

来自分类Dev

如何解压缩文件中的值

来自分类Dev

如何解压缩加密的.enz文件

来自分类Dev

如何解压缩* .7z文件?

来自分类Dev

如何解压缩Android应用中的文件?

来自分类Dev

如何解压缩InstallShield Cabinet文件?

来自分类Dev

如何解压缩xxx.js.tar文件

来自分类Dev

如何解压缩多个 zip 文件夹

来自分类Dev

如何解压缩 .bin.gz 文件?

来自分类Dev

如何跳过对已存在文件的解压缩?

来自分类Dev

如何解压缩迭代器?

来自分类Dev

如何解压缩此列表

来自分类Dev

如何解压缩元素列表

来自分类Dev

如何解压缩,解压-xvf-在混乱的文件夹中解压缩?

来自分类Dev

如何解压缩.gz文件并将解压缩的文件保存到Python中的其他目录?

来自分类Dev

如何解压缩,编辑和压缩Android APK

来自分类Dev

概率压缩。如何解压缩输出值?

来自分类Dev

在Mac OS X中,如何解压缩一个zip文件而不解压缩其内容?

来自分类Dev

如何解压缩文件,更改csv表并再次压缩?

来自分类Dev

如何解压缩并打印压缩文本文件的最后几行?

来自分类Dev

如何“解压缩” zip文件?

来自分类Dev

如何“解压缩” ZIM文件?