noisefloor
Anmeldungsdatum: 6. Juni 2006
Beiträge: 29567
|
Hallo, ich finde die Wortwahl "Rezeptdateien" unglücklich, weil irreführend. Basierend auf dem Beispiel vermutet ich mal, dass die Word-Dateien im Beispielen (Koch- und Back-) Rezepte enthalten. Das ist für den Artikel aber total irrelevant. Besser und allgemeiner wäre, wenn du einfach bezogen auf die Bespiele sagst, dass alle Dateien mit der Dateiendung .doc für das Archiv berücksichtigt werden. Abgesehen davon wäre es vielleicht schön, wenn auch nicht zwingend, wenn du in den Beispielen kein altes / veraltetes Dateiformat von einer Windowsanwendung nehmen würdest, sondern so was wie .txt. oder .odt oder so. Inhaltlich klingt das alles plausibel, ist aber halt schwer nachzuvollziehen, wenn man die Option -u selber noch nicht genutzt hat. Gruß, noisefloor
|
wxpte
Anmeldungsdatum: 20. Januar 2007
Beiträge: 1388
|
noisefloor schrieb: Hallo, ich finde die Wortwahl "Rezeptdateien" unglücklich, weil irreführend. Basierend auf dem Beispiel vermutet ich mal, dass die Word-Dateien im Beispielen (Koch- und Back-) Rezepte enthalten. Das ist für den Artikel aber total irrelevant. Besser und allgemeiner wäre, wenn du einfach bezogen auf die Bespiele sagst, dass alle Dateien mit der Dateiendung .doc für das Archiv berücksichtigt werden. Abgesehen davon wäre es vielleicht schön, wenn auch nicht zwingend, wenn du in den Beispielen kein altes / veraltetes Dateiformat von einer Windowsanwendung nehmen würdest, sondern so was wie .txt. oder .odt oder so.
Stimmt und erledigt. Da hatte ich mich wohl zu sehr von dem eingangs gebrachten Beispiel mit kirschkuchenrezept.doc, das ich so schon vorgefunden und in meinen Beispielen wieder aufgegriffen habe, inspirieren lassen. Die Erweiterung habe ich gleich mit vereinheitlicht: kirschkuchenrezept.odt. Bei der Gelegenheit ist mir an den Beispielen noch aufgefallen, dass ich
im zweiten Beispiel noch einen Trick gefunden habe, wie man die Archivbereinigung auch auf Dateien mit einer bestimmten Erweiterung eingrenzen kann (das will ich noch ergänzen) das dritte Beispiel auch etwas modifizieren könnte: u -ux0y0z0w0 müsste identisch sein mit dem etwas einfacheren d -uq1r2 – aber das prüfe ich noch.
|
wxpte
Anmeldungsdatum: 20. Januar 2007
Beiträge: 1388
|
wxpte schrieb: Bei der Gelegenheit ist mir an den Beispielen noch aufgefallen, dass ich
im zweiten Beispiel noch einen Trick gefunden habe, wie man die Archivbereinigung auch auf Dateien mit einer bestimmten Erweiterung eingrenzen kann (das will ich noch ergänzen) das dritte Beispiel auch etwas modifizieren könnte: u -ux0y0z0w0 müsste identisch sein mit dem etwas einfacheren d -uq1r2 – aber das prüfe ich noch.
Der Kram wäre jetzt auch erledigt. Dabei habe ich festgestellt, dass das dritte Beispiel sogar falsch war, und richtigerweise d -up0r2 heißen muss: nur, wenn alle Status außer r mit der Aktion 0 verknüpft sind, werden wirklich nur neue Dateien, die auf den Wildcard matchen, in die neue Archivdatei gesteckt.
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 9579
Wohnort: Münster
|
Einige Details überarbeitet. Unklar:
Zur Option -u : "-u[-]<Aktionen>[\!{neue_Archivdatei}]" ist möglicherweise falsch formatiert.
„Updateoption“ erscheint mir als schlecht gewählter Begriff. Ich habe jedenfalls nicht verstanden, was das soll. Gibt es eine andere Bezeichnung dafür, vielleicht „zusätzliche Optionen“?
Zur Option -v :
Größenangaben werden mit einer Einheit angegeben: b=Byte, k=Kilobyte, m=Megabyte, g=Gigabyte.
Muss das nicht Kibibyte, Mebibyte, Gibibyte lauten? Sonst geben die folgenden Beispiele keinen Sinn.
|
wxpte
Anmeldungsdatum: 20. Januar 2007
Beiträge: 1388
|
kB schrieb: Einige Details überarbeitet. Unklar:
Die Syntax habe ich an die Beschreibung auf der Seite https://documentation.help/7-Zip/update1.htm angelehnt, mit dieser Anleitung habe ich mir auch den Umgang mit dem Schalter -u erst angeeignet. Aber die Original-Manpage weist die Syntax wie folgt aus:
-u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]
Update options
Die geschweiften Klammern könnte man also möglicherweise weglassen, und die Status wie in der Manpage aufzählen. Anders verhält es sich mit dem Backslash vor dem Ausrufezeichen: lässt man ihn weg, wird das Ausrufezeichen in der shell in der Sonderfunktion interpretiert, und der Befehl scheitert. Insofern halte ich die Manpage für ein wenig irreführend, und seltsamerweise habe ich auch im Internet keine Anleitung gefunden, die auf diesen Umstand eingeht.
Die Bezeichnung »zusätzliche Optionen« sagt mir wiederum nichts: ich weiß nicht, was daran zusätzlich sein soll. Mit dem Schalter -u kann man eben die Aktionen, welche durch die drei Kommandos a , d und u ausgeführt werden, beliebig modifizieren (theoretisch könnte man mit dem Kommando 7z a -ux1z1 ... dasselbe wie mit dem Kommando 7z u ... # ohne -u machen). In der Manpage steht halt auch »Update options«, und mir fällt nichts besseres ein*.
Größenangaben werden mit einer Einheit angegeben: b=Byte, k=Kilobyte, m=Megabyte, g=Gigabyte.
Muss das nicht Kibibyte, Mebibyte, Gibibyte lauten? Sonst geben die folgenden Beispiele keinen Sinn.
Ja, kommt hin. Mit dem Schalter -v hatte ich mich bei der Überarbeitung nicht näher beschäftigt, muss ich zugeben. Mir ging es vor allem um die genauere Erklärung des Schalters -u , weil dieser in der Manpage nur oberflächlich behandelt wird. _ _ _ *) Update, 20:19 Uhr: gerade ist mir doch noch etwas eingefallen. Wie wäre es mit »Schalter, mit dem die Kommandos a , d und u modifiziert werden können. Näheres dazu unten.« ❓
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 9579
Wohnort: Münster
|
wxpte schrieb: Zunächst einmal vielen Dank für die ausführliche Antwort, die einige Verständnisschwierigkeiten und Irrtümer auszumerzen hilft.
[…] Die Syntax habe ich an die Beschreibung auf der Seite https://documentation.help/7-Zip/update1.htm angelehnt
Eine Notation aus der Hölle, beschrieben mit ungeeigneten semantischen Begriffen, noch dazu in sich widersprüchlich und unvollständig.
mit dieser Anleitung habe ich mir auch den Umgang mit dem Schalter -u erst angeeignet.
Dafür gebührt Dir meine Anerkennung. Allerdings sehe ich einige Diskrepanzen zwischen dieser Seite und dem momentanen Text in der hiesigen Baustelle. Da benötigt es noch Arbeit vor der Freigabe ins Wiki.
Aber die Original-Manpage weist die Syntax wie folgt aus:
-u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]
Update options
Schon besser. Ob für das Wiki tauglich, darüber denke ich noch nach.
Die geschweiften Klammern könnte man also möglicherweise weglassen
Auf jeden Fall.
und die Status wie in der Manpage aufzählen.
Das lateinische "Status" ist hier wohl eine schlechte Übersetzung des englischen "state". Möglicherweise besser geeignet:
Zustand Bedingung Situation …
Anders verhält es sich mit dem Backslash vor dem Ausrufezeichen: lässt man ihn weg, wird das Ausrufezeichen in der shell in der Sonderfunktion interpretiert, und der Befehl scheitert. Insofern halte ich die Manpage für ein wenig irreführend, und seltsamerweise habe ich auch im Internet keine Anleitung gefunden, die auf diesen Umstand eingeht.
Das Ausrufezeichen ist für die Shell ein Sonderzeichen und muss regelmäßig geschützt werden, wenn man es (wie hier) als Literal meint. Es müsste allerdings auch eine Quotierung mit Anführungszeichen funktionieren, die besser lesbar ist. Beispielsweise: -u'p0r2!/home/peter/neue_Rezepte.7z' Kannst Du das bitte prüfen?
[…] Mit dem Schalter -u kann man eben die Aktionen, welche durch die drei Kommandos a , d und u ausgeführt werden, beliebig modifizieren […]
Dann sollte man das auch so ins Wiki schreiben: „Der Schalter -u modifiziert die Arbeitsweise der Kommandos a , d und u .“
Größenangaben werden mit einer Einheit angegeben: b=Byte, k=Kilobyte, m=Megabyte, g=Gigabyte.
Muss das nicht Kibibyte, Mebibyte, Gibibyte lauten? Sonst geben die folgenden Beispiele keinen Sinn.
Ja, kommt hin.
OK. Ich arbeite die bisherigen Erkenntnisse ein und melde mich dann wieder.
|
wxpte
Anmeldungsdatum: 20. Januar 2007
Beiträge: 1388
|
kB schrieb: Das lateinische "Status" ist hier wohl eine schlechte Übersetzung des englischen "state". Möglicherweise besser geeignet:
Zustand Bedingung Situation …
Zwar sehe ich jetzt nicht, warum der lateinische Ausdruck weniger passend sein sollte. Aber wenn wir einen deutschen Ausdruck benötigen, dann wäre ich für »Eigenschaft«: bei »p« direkt bezogen auf das Muster, bei den übrigen bezogen auf die Dateien, die durch das Muster repräsentiert werden. kB schrieb: Das Ausrufezeichen ist für die Shell ein Sonderzeichen und muss regelmäßig geschützt werden, wenn man es (wie hier) als Literal meint. Es müsste allerdings auch eine Quotierung mit Anführungszeichen funktionieren, die besser lesbar ist. Beispielsweise: -u'p0r2!/home/peter/neue_Rezepte.7z' Kannst Du das bitte prüfen?
Ja, das funktioniert auch mit Single Quotes genauso gut; und zwar auch dann, wenn man den einleitenden Quote erst unmittelbar vor das Ausrufezeichen setzt. Dabei sollte man natürlich auch im Hinterkopf behalten, dass dann auch andere Sonderzeichen (z. B. die Tilde als Platzhalter für das Home-Verzeichnis) nicht ausgewertet werden.
|
sh4711
Anmeldungsdatum: 13. Februar 2011
Beiträge: 1126
|
Vorschlag zu den Tabellen 3 bis 5: grundsätzlich Tabellenüberschriften linksbündig beschleunigt den Lesefluss je nach Auflösung und Browser-Fenstergröße In Tabelle 3 und 4 würde ich die 1. Spalte nicht Code nennen sondern Situation oder Bedingung bzw. Aktion und die 2. Spalte würde ich bei beiden Tabellen Beschreibung nennen. durch die unten dargestellte farbige Ausführung ist ggf. ein schnellerer Bezug zwischen Tabelle 4 und 5 gegeben den Text zwischen Tabelle 4 und 5 würde ich hinter Tabelle 5 verlegen, damit die Tabellen 3, 4 und 5 kompakt beieinander stehen, analog zu https://documentation.help/7-Zip/update1.htm.
Entscheidet aber bitte selber. Anmerkung: hier im Post wird die Tabelle anders dargestellt als im Sandkasten ... am Besten mal den Code im Sandkasten betrachten. Gruss
sh Tabelle 4: Mögliche Aktionen | Aktion | Beschreibung | 0 | Datei wird verworfen bzw. nicht in die neue Archivdatei übernommen | 1 | Bestehende Datei im Archiv wird beibehalten bzw. in die neue Archivdatei übernommen | 2 | Archivdatei wird durch die nicht archivierte Datei ersetzt (ggf. nur in der neuen Archivdatei) | 3 | In der Archivdatei werden sogenannte Anti-Dateien erzeugt, die beim Extrahieren dafür sorgen, dass im Zielverzeichnis vorhandene Dateien dieses Namens gelöscht werden (nur mit dem 7z-Format unterstützt) |
Die nachfolgende Tabelle beschreibt, welche Arbeitsweisen für die Kommandos a, d und u ohne explizite Verwendung des Schalters -u gelten. ⚓︎ Tabelle 5: Vorgaben für ARBEITSWEISEN bei den Kommandos a, d und u | Kommando / Aktion zu Bedingung | p | q | r | x | y | z | w | d (delete) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | a (add) | 1 | 1 | 2 | 2 | 2 | 2 | 2 | u (update) | 1 | 1 | 2 | 1 | 2 | 1 | 2 |
Edit: Code für den Sandkasten als Text-Datei angehängt.
- code_fuer_sandkasten.txt (1.5 KiB)
- Download code_fuer_sandkasten.txt
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 9579
Wohnort: Münster
|
sh4711 schrieb: Vorschlag zu den Tabellen 3 bis 5: grundsätzlich Tabellenüberschriften linksbündig beschleunigt den Lesefluss je nach Auflösung und Browser-Fenstergröße
Mag für manche Leser zutreffen, ist aber sicherlich nicht allgemein gültig. Andererseits sind Tabellen stets nicht als Fließtext gedacht, den man schnell durchlesen mag. Sie sind vielmehr Werkzeuge zum Nachschlagen bestimmter Informationen unter Schlüsselwerten, meist in der ersten Spalte. Hierfür ist wichtig, Tabellen im gesamten Text schnell zu finden und hierfür sind zentrierte Überschriften ein gutes Hilfsmittel.
2. In Tabelle 3 und 4 würde ich die 1. Spalte nicht Code nennen sondern Situation oder Bedingung bzw. Aktion und die 2. Spalte würde ich bei beiden Tabellen Beschreibung nennen.
Begriffe wie p , q , r usw. sind keine Situation und 1 , 2 , 3 sind keine Aktion; beides sind lediglich willkürlich gewählte Kodierungen für solche oder jene. Die Tabellen sollen die leichte Übersetzung dieser Codes auf die damit gemeinte Situation bzw. Aktion ermöglichen und dafür ist zweckmäßig, die Spalten eben mit Code und Situation bzw. Aktion zu betiteln.
3. durch die unten dargestellte farbige Ausführung ist ggf. ein schnellerer Bezug zwischen Tabelle 4 und 5 gegeben
Kosmetik ist möglich und mag als Ergänzung sinnvoll sein, ist aber kein Ersatz für zutreffende und verständliche verbale Beschreibung; um letztere wird noch gerungen. Bis dahin ist Kosmetik nachrangig.
4. den Text zwischen Tabelle 4 und 5 würde ich hinter Tabelle 5 verlegen, damit die Tabellen 3, 4 und 5 kompakt beieinander stehen, analog zu https://documentation.help/7-Zip/update1.htm.
Diese Internet-Seite erscheint mir nicht als geeignetes Vorbild für das UbuntuUsers-de-Wiki. Ich denke, wir sollten besser Verständlichkeit und Korrektheit anstreben als uns eng an bestehende schlechte Beschreibungen anzulehnen.
|
sh4711
Anmeldungsdatum: 13. Februar 2011
Beiträge: 1126
|
kB schrieb: ...
Mag für manche Leser zutreffen, ist aber sicherlich nicht allgemein gültig.
OK, entscheidet ihr das bitte. 2. In Tabelle 3 und 4 würde ich die 1. Spalte nicht Code nennen sondern Situation oder Bedingung bzw. Aktion und die 2. Spalte würde ich bei beiden Tabellen Beschreibung nennen.
Begriffe wie p , q , r usw. sind keine Situation und 1 , 2 , 3 sind keine Aktion; beides sind lediglich willkürlich gewählte Kodierungen für solche oder jene. Die Tabellen sollen die leichte Übersetzung dieser Codes auf die damit gemeinte Situation bzw. Aktion ermöglichen und dafür ist zweckmäßig, die Spalten eben mit Code und Situation bzw. Aktion zu betiteln.
Sicher handelt es sich um Codes aber im Sinne einer zutreffenden und verständlichen verbalen Beschreibung ist es ggf. besser jeder Art Code einen Namen zu geben. 0 , 1 , 2 , 3 sind Codes für Aktionen und p , q , r usw. sind Codes für Situatione/Bedingungen/Eigenschaften oder wie man es auch immer nennen mag. Selbst im Programmcode wird sich die Abfrage bei Aktionen und bei Situationen sicher in der Namensgebung der Variablen unterscheiden. Aber entscheidet ihr das bitte. Kosmetik ist möglich ....
OK. Diese Internet-Seite erscheint mir nicht als geeignetes Vorbild für das UbuntuUsers-de-Wiki. Ich denke, wir sollten besser Verständlichkeit und Korrektheit anstreben als uns eng an bestehende schlechte Beschreibungen anzulehnen.
Das mag sein. Um die Tabelle 5 zu verstehen muss man jedoch Tabelle 3 und 4 im Blick haben und wenn man aufgrund von trennendem Fließtext zwischen den Tabellen hin und her scrollen muss ist das wahrscheinlich nicht zielführend. Aber entscheidet ihr das bitte. Gruß
sh
|
sh4711
Anmeldungsdatum: 13. Februar 2011
Beiträge: 1126
|
Zu 2. Wir unterscheiden hier im Artikel auch zwischen Kommando und Schalter.
|
wxpte
Anmeldungsdatum: 20. Januar 2007
Beiträge: 1388
|
sh4711 schrieb: Das mag sein. Um die Tabelle 5 zu verstehen muss man jedoch Tabelle 3 und 4 im Blick haben und wenn man aufgrund von trennendem Fließtext zwischen den Tabellen hin und her scrollen muss ist das wahrscheinlich nicht zielführend. Aber entscheidet ihr das bitte.
Das ist ein guter Punkt. Besonders die Codebuchstaben für die »Situationen« sind nicht so einprägsam und logisch, dass man sie sofort auswendig weiß. Wenn man also einen Befehl zur Archivierung plant, ist es sinnvoll, die Ausgangslage mit im Blick zu haben, um zu entscheiden, bei welchen Situationen modifiziert werden muss. Was mir auch noch aufgefallen ist: Durch den Umbau des Schalters in Tabelle 2 auf
-u'ARBEITSWEISEN' ist die Möglichkeit, das Ergebnis des Kommandos in eine neue Archivdatei zu stellen, ein wenig untergegangen, so dass die auf Tabelle 4 folgenden zwei Sätze sowie das dritte Beispiel jetzt im luftleeren Raum stehen. Da müssten die einleitenden Sätze vor Tabelle 3 noch ein wenig ergänzt werden. Vorschlag: Mit der Syntax
7z Kommando -u- -u'ARBEITSWEISEN!/Pfad/zur/neuen/Archivdatei' /Pfad/zur/bestehenden/Archivdatei [Dateimuster] kann das Ergebnis des Programmaufrufs auch in eine neue Archivdatei ausgelagert werden. Der Schalter -u- sorgt dafür, dass die bereits vorhandene Archivdatei unverändert bleibt. Außerdem muss das Ausrufezeichen durch Single Quotes oder einen vorangestellten umgekehrten Schrägstrich geschützt werden, da es ansonsten durch die Shell interpretiert würde. _ _ _ Die beiden Sätze unterhalb der Tabelle 4 könnten dann entfallen.
|
wxpte
Anmeldungsdatum: 20. Januar 2007
Beiträge: 1388
|
Die Neuanordnung der Beispiele ist gut gelungen, das sieht jetzt klar und übersichtlich aus. 👍 Mit einigen anderen Passagen bin ich allerdings noch nicht so glücklich:
Außerdem kann man über die Zeichenfolge ARBEITSWEISEN die vorgegebene situationsabhängigen Arbeitsweisen löschen und einen neuen zusätzlichen Archivnamen definieren.
und Vorgaben für das jeweilige Kommando lt. Tabelle 5 löschen.
Wieso löschen? Der Schalter -u- legt fest, dass das Kommando nicht auf die vorhandene Archivdatei angewendet wird, wenn gleichzeitig ein weiterer Schalter gesetzt ist, mit dem eine neue Archivdatei erzeugt wird. Wenn aber ein Kommando gar nicht erst angewendet wird, dann brauchen auch keine Vorgaben gelöscht zu werden. Dieser Code muss an erster Stelle stehen.
Das trifft in dieser Form nicht zu: innerhalb eines Schalters muss der Code vielmehr alleinstehend sein. Anweisungen für die neue Archivdatei und Anweisungen für die vorhandene Archivdatei kann man nicht in einem Schalter miteinander kombinieren. Der Satz Für jede Datei im Archiv ARCHIVNAME und jede auf MUSTER passende Datei im Dateisystem wird dann die Situation lt. Tabelle 3 hinsichtlich Existenz an beiden Stellen, Zeitstempel und Größe ermittelt und die Datei dann gemäß Tabelle 4 behandelt.
ist mir zu kompliziert. Obwohl ich mich eine ganze Weile mit dem Schalter beschäftigt habe und mir einbilde, die wesentlichen Eigenschaften verstanden zu haben, musste ich diesen Satz fünf Mal lesen, um einigermaßen zu durchschauen, worauf du damit hinaus willst. Zudem hält sich der Informationsgehalt dieser Aussage in Grenzen: das ist doch weiter oben schon ausreichend beschrieben, und der Rest erschließt sich aus dem weiteren Kontext von selbst.
|
karzer
Wikiteam
Anmeldungsdatum: 10. April 2022
Beiträge: 1499
Wohnort: Bad Oeynhausen
|
Im Verzeichnis gelöschte Dateien werden auch aus dem Archiv entfernt. Die Option r0 wird gesetzt, damit dem Archiv keine Dateien mit anderen Erweiterungen hinzugefügt werden, Dateien mit der Erweiterung .odt werden dann allerdings auch nicht hinzugefügt.
Sollte das nicht p0 sein, oder habe ich etwas Grundlegendes nicht verstanden?
|
wxpte
Anmeldungsdatum: 20. Januar 2007
Beiträge: 1388
|
Das ist schon richtig so, wie es da steht. Code r steht für die Situation, dass die Datei zwar im Verzeichnis außerhalb des Archivs vorhanden ist, im Archiv selbst aber nicht. Die Aktion 0 sorgt dann dafür, dass das auch so bleibt. Aber die Situation, die durch den Code p repräsentiert wird, ist auch mit Abstand am schwersten zu verstehen, besonders, wenn Wildcards im Spiel sind. Es bedeutet nämlich: das Muster, das dem Programmaufruf mitgegeben wird, wird zunächst von der Shell ausgewertet und auf das Verzeichnis (außerhalb des Archivs) angewendet. Erst im zweiten Schritt wird geprüft, ob die Datei im Archiv auf das von der Shell erzeugte Muster passt. Ist dies nicht der Fall, fliegt die Datei aus dem Archiv, sobald p mit der Aktion 0 verknüpft ist.
|