Paket ulang file 7z ke file zip di linux

3

Saya memiliki direktori dengan banyak file .7z, saya perlu mengemasnya kembali sebagai arsip zip, bagaimana saya bisa melakukan ini secara otomatis di linux?

res1
sumber

Jawaban:

3

Gunakan skrip berikut dan jalankan dari direktori tempat Anda .7z file adalah:

#!/bin/bash

TMPDIR=tempdir_$$

for x in `ls *.7z`; do
    mkdir $TMPDIR
    cd $TMPDIR
    cp ../$x .
    p7zip -d $x
    zip -r ../${x%.7z}.zip *
    cd ..
    rm -rf $TMPDIR    
done

Ini akan meninggalkan Anda .7z file di mana mereka berada dan buat .zip file dengan nama yang sama.

Script menyalin .7z file ke direktori sementara sebelum mengekstraknya karena biasanya dihapus setelah mendekompresi file.

Saya membuat skrip sesederhana mungkin sehingga Anda dapat dengan mudah mengetahui cara kerjanya.

Script hanya akan bekerja dengan .7z file yang tidak memiliki spasi atau karakter khusus lainnya dalam namanya.

NZD
sumber
3

Anda juga bisa menggunakan arepack alat yang merupakan bagian dari rangkaian alat atool. Biasanya a yum install atool atau apt-get install atool. Setelah ini tersedia, Anda cukup melakukan ini:

$ arepack -e -F zip *.7z

Ini akan mengonversi semua file .7z menjadi file .zip. Anda masih perlu menghapus file * .7z, tetapi itu bisa dilakukan seperti:

$ rm -f *.7z

Opsi arepack tambahan

Options:
  -e, --each               execute command above for each file specified
  -F, --format=EXT         override archive format (see below)
  -O, --format-option=OPT  give specific options to the archiver
  -D, --subdir             always create subdirectory when extracting
  -f, --force              allow overwriting of local files
  -q, --quiet              decrease verbosity level by one
  -v, --verbose            increase verbosity level by one
  -V, --verbosity=LEVEL    specify verbosity (0, 1 or 2)
  -p, --page               send output through pager
  -0, --null               filenames from standard in are null-byte separated
  -E, --explain            explain what is being done by atool
  -S, --simulate           simulation mode - no filesystem changes are made
  -o, --option=KEY=VALUE   override a configuration option
      --config=FILE        load configuration defaults from file

Archive format (for --format) may be specified either as a
file extension ("tar.gz") or as "tar+gzip".
slm
sumber