GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Packen Sie 7z-Dateien unter Linux in ZIP-Dateien um

Sie könnten auch einfach den arepack verwenden Tool, das Teil der atool-Suite von Tools ist. Es ist normalerweise ein yum install atool oder apt install atool . Möglicherweise müssen Sie auch p7zip-full installieren und p7zip-rar Pakete, falls sie noch nicht installiert sind. Sobald diese verfügbar sind, können Sie einfach Folgendes tun:

$ arepack -e -F zip *.7z

Dadurch werden alle .7z-Dateien in .zip-Dateien konvertiert. Sie müssen die *.7z-Dateien trotzdem löschen, aber das geht einfach so:

$ rm -f *.7z

Zusätzliche Arepack-Optionen

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".

Verwenden Sie das folgende Skript und führen Sie es aus dem Verzeichnis aus, in dem sich Ihr .7z befindet Dateien sind:

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

Dies hinterlässt Ihren .7z Dateien, wo sie sind, und erstellen Sie .zip Dateien mit demselben Namen.

Das Skript kopiert den .7z Dateien vor dem Extrahieren in das temporäre Verzeichnis, da sie normalerweise nach dem Dekomprimieren der Dateien gelöscht werden.

Ich habe das Skript so einfach wie möglich gehalten, damit Sie leicht herausfinden können, wie es funktioniert.

Das Skript funktioniert nur mit .7z Dateien, die keine Leerzeichen oder andere Sonderzeichen in ihrem Namen haben.


Linux
  1. So entpacken Sie Dateien unter Linux (mit Beispielen)

  2. So komprimieren Sie mehrere Dateien unter Linux

  3. Arbeiten Sie mit ZIP-Dateien unter Linux

  4. Linux-ls-Befehl - Dateien auflisten

  5. mcopy-Befehl unter Linux

Finden Sie große Dateien in Linux

So komprimieren Sie Dateien und Verzeichnisse unter Linux

Rm-Befehl unter Linux

So entpacken Sie Zip-Dateien unter Linux

ls-Befehl unter Linux/UNIX

So komprimieren Sie eine Datei unter Linux