Como tratar Extração de dois arquivos zip na mesma pasta que contém arquivos com o mesmo nome

0

Estou usando o for loop para descompactar vários arquivos:

ls *.zip | for zipfile in *.zip;
do
    unzip "$zipfile"
done

Se ao descompactar dois arquivos zip, há um arquivo com o mesmo nome no zip, então eu quero concatenar esses dois arquivos em um único arquivo com o mesmo nome na mesma pasta.

Como fazer isso?

    
por varad 05.09.2017 / 09:50

1 resposta

0

Supondo que não há diretórios no arquivo:

GLOBIGNORE=.:..
mkdir tmpdir1 tmpdir2 targetdir
unzip -d tmpdir1 "$zipfile1"
unzip -d tmpdir2 "$zipfile2"
cd tmpdir1
for file in *; do
    if [ -f "../tmpdir2/${file}" ]; then
        cat "$file" "../tmpdir2/${file}" >"../targetdir/${file}"
    else
        mv $file" "../targetdir/"
    fi
done
cd ../tmpdir2
mv * targetdir/
    
por 05.09.2017 / 10:31