jm3west schrieb:
Nennen wir die Datei sonne.zip
Wenn ich jetzt sonne.zip mittels "unzip sonne.zip" entpacke entsteht der Ordner "erde".
Ich nehme an das der ordner "erde" zu "sonne.zip" gepackt wurde
Wenn ich nun "unzip sonne.zip -d NeinName" entpacke entsteht "MeinName/erde"
Leider habe ich es bisher nicht geschafft dass nach dem entpacken "MeinName/Der_Inhalt_der_zip_Datei" entsteht.
Ich hoffe ein Linux -Experte, -Guru kann mir helfen
Das hat mit Linux wenig zu tun, man braucht nur eine Programmiersprache, die sowas für einen erledigen kann - z.B. mit Python3 und einem Zipfile mit dieser Struktur:
$ python3 -m zipfile -l sonne.zip
File Name Modified Size
erde/ 2017-02-20 12:57:00 0
erde/bar.txt 2017-02-20 12:57:00 0
erde/foo.txt 2017-02-20 12:56:56 0
Mit Python kann man sich z.B. ein kleines Skript schreiben, das das für einen erledigt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 | #!/usr/bin/env python3
import os
import argparse
import zipfile
parser = argparse.ArgumentParser(description='extract a single directory from a zip file')
parser.add_argument('zipfile', metavar='ZIPFILE',
help='a zipfile to use')
parser.add_argument('-f', '--foldername', metavar='FOLDERNAME', default=None,
help='the name of the folder to extract')
parser.add_argument('-t', '--targetdir', metavar='TARGETDIR', default='.',
help='directory to extract the folder(s) from the zip file to')
args = parser.parse_args()
if args.foldername is not None:
args.foldername = args.foldername + (
os.path.sep if not args.foldername.endswith(os.path.sep) else '')
with zipfile.ZipFile(args.zipfile) as myzip:
for file in myzip.namelist():
if args.foldername is None or (
args.foldername is not None and file.startswith(args.foldername)):
try:
os.makedirs(args.targetdir)
except OSError as err:
if err.errno!=17:
raise
myzip.extract(file, args.targetdir)
|
Das kann man dann z.B. so verwenden, wenn man nur den Ordner "erde" aus der Zip-Datei haben will (das Python-Skript muss ausführbar sein):
./extract_zipdir.py sonne.zip -f erde
Oder wenn mal alle Ordner aus der Zipdatei in das Verzeichnis MeinName entpacken will:
./extract_zipdir.py sonne.zip -t MeinName