Linux zip dosyaları için 7z dosyaları Repack


3

Çok fazla .7z dosya içeren bir dizine sahibim, her birini zip arşivi olarak yeniden paketlemem gerekiyor, bunu otomatik olarak linux'ta nasıl yapabilirim?

Yanıtlar:


4

Aşağıdaki betiği kullanın ve .7zdosyalarınızın bulunduğu dizinden çalıştırın :

#!/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

Bu, .7zdosyalarınızı olduğu yerde bırakır .zipve aynı ada sahip dosyalar oluşturur .

Komut .7zdosyaları ayıklamadan önce dosyaları geçici dizine kopyalar, çünkü normalde dosyaları açtıktan sonra silinirler.

Senaryoyu olabildiğince basit tuttum, böylece nasıl çalıştığını kolayca anlayabilirsin.

Komut dosyası yalnızca .7zadlarında boşluk veya diğer özel karakterleri olmayan dosyalarla çalışır .


4

Ayrıca arepack, atool araç takımının bir parçası olan aracı da kullanabilirsiniz . Genellikle bir yum install atoolveya apt-get install atool. Bu mümkün olduğunda, basitçe şunu yapabilirsiniz:

$ arepack -e -F zip *.7z

Bu, tüm .7z dosyalarını .zip dosyaları olarak dönüştürür. Yine de * .7z dosyalarını silmeniz gerekir, ancak bu şekilde yapılabilir:

$ rm -f *.7z

Ek arepack seçenekleri

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".
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.