Zip-Archiv erstellen, Sonderfälle


1

Wie kann ich in einer Linux Distribution eine Zip erstellen und
- Behalten Sie nur den relativen Pfad zu einem Ordner
- Legen Sie einige Dateien in einem separaten Ordner in der Zip

Ich muss dies in einem Bash-Skript tun. Wenn ich also nur den absoluten Pfad verwende, befindet sich der gesamte Pfad im Zip.

Beispiel

/home/user/folder/1.txt
/home/user/folder/2.txt

Ausgang brauchen es:

test.zip
folder/1.txt
folder/secondfolder/2.txt

1
In welcher Beziehung steht die Ausgabe zum Beispiel?
— Ignacio Vazquez-Abrams

Könnte dies besser für ServerFault geeignet sein? Es scheint mir eher eine Sysadmin-Frage als eine Programmierfrage zu sein.
— ssokolow

Antworten:



0

Tut find . ! -name "*.zip" -type f -print | zip test -@ Tun Sie, was Sie wollen?


zip ist in der Lage, einen Pfad für sich zu rekursieren.
— Ignacio Vazquez-Abrams

Ich habe die Frage aktualisiert. Das brauche ich nicht.
— danidacar

@Nutzer, Ich habe die Frage aktualisiert - "need it" hinzuzufügen ist kaum ein Update! (Bitte kommen Sie auch mit einem besseren Titel?)
— Arjan

@Ignacio und Charles, also vielleicht zip -r -x *.zip würde das gleiche erreichen?
— Arjan

0

Warum erstellen Sie nicht einfach die gewünschte Verzeichnisstruktur, komprimieren sie und entfernen sie dann?

cd ~/
mkdir backup1
cp /var/www/test/* backup1/
zip -r output.zip ~/backup1
rm -r backup1

Weil ich an Befehlszeilenflexibilität gewöhnt bin und dachte, ich vermisse etwas. Guter Tipp.
— danidacar

Mit man zip können Sie anscheinend keine Verzeichnisse erstellen. Wenn Sie in einer Zeile tun möchten; Nur cp / var / www / test / * backup1 / & amp; & amp; zip -rm output.zip backup1 / (m für das Verschieben der Dateien) Teil muss nicht Feature-Bloat haben; Es gibt keinen wirklichen Grund dafür, dass zip Dateien / Verzeichnisse erstellt, die nicht existieren, wenn Sie dies mit anderen Befehlen problemlos tun können.

0

$ ln -s / var / www / test backup1
$ zip -r backup1 -j backup1 / *

Akzeptabel?


Sie verschrotten die Verzeichnisse und erstellen dabei einen neuen Sim-Link. Ich denke nicht, dass dies optimal ist. Trotzdem danke.
— danidacar
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.