Hallo zusammen, innerhalb eines Backup-Scripts läuft folgende Anweisung: find <Verrzeichnis> -printf "%p CT:%c MT:%t IN:%i SZ:%k LN:%l\n" und liefert folgendes Resultat: [...] Herbert Grönemeyer/ CT:Mon Dec 15 16:14:10 2003 MT:Mon Dec 15 16:14:10 2003 IN:819202 SZ:4 LN: Herbert Grönemeyer/Mensch Live CT:Wed Dec 17 17:04:37 2003 MT:Wed Dec 17 17:04:37 2003 IN: 2064387 SZ:4 LN: Herbert Grönemeyer/Mensch Live/track01.ogg CT:Wed Dec 17 16:13:41 2003 MT:Wed Dec 17 16:13 :41 2003 IN:2064424 SZ:6956 LN: Herbert Grönemeyer/Mensch Live/track02.ogg CT:Wed Dec 17 16:13:41 2003 MT:Wed Dec 17 16:13 :41 2003 IN:2064385 SZ:4228 LN: [...] (Tschuldigung für die überlangen Zeilen) Diese Daten werden im folgenden von afio gelesen, das wegen der Blanks in den Dateinamen "leichte" Probleme bekommt und abbricht. Nun meine Frage: gibt es eine (einfache) Möglichkeit, die Zeilen wie folgt auszugeben: Herbert\ Grönemeyer/Mensch\ Live/track01.ogg CT:Wed [...] Ein "find ... | sed -e 's/\ /\\ /g'" tut's latürnich nicht, da dann die Daten hinter dem Dateinamen mit umgesetzt werden würden: Herbert\ Grönemeyer/Mensch\ Live/track01.ogg\ CT:Wed\ Dec\ 17\ 16:13:41... Im Netz (ML-Archiv etc.) habe ich nichts passendes gefunden (falsch gesucht?) BTW: ich weiß, daß man keine Blanks in Datei-/Verzeichnisnamen verwenden sollte. Geht aber nicht anders - sieht in der Anzeige meiner Jukebox ansonsten beschi**en aus :-) Gruß Rudi -- Jedes nützliche Programm wird geändert. -- Murphy's Law
Am Samstag, 3. Januar 2004 20:08 schrieb Rudolf Buerger:
innerhalb eines Backup-Scripts läuft folgende Anweisung:
find <Verrzeichnis> -printf "%p CT:%c MT:%t IN:%i SZ:%k LN:%l\n"
und liefert folgendes Resultat:
[...] Herbert Grönemeyer/ CT:Mon Dec 15 16:14:10 2003 MT:Mon Dec 15 16:14:10 2003 IN:819202 SZ:4 LN: Herbert Grönemeyer/Mensch Live CT:Wed Dec 17 17:04:37 2003 MT:Wed Dec 17 17:04:37 2003 IN: 2064387 SZ:4 LN: Herbert Grönemeyer/Mensch Live/track01.ogg CT:Wed Dec 17 16:13:41 2003 MT:Wed Dec 17 16:13 :41 2003 IN:2064424 SZ:6956 LN: Herbert Grönemeyer/Mensch Live/track02.ogg CT:Wed Dec 17 16:13:41 2003 MT:Wed Dec 17 16:13 :41 2003 IN:2064385 SZ:4228 LN: [...]
Was sollen denn die ganzen printf-Angaben? Ich benutzt afio nicht, aber so wie ich die man-Page verstehe, liest afio _Pfadnamen_ und sonst nix. Was ist der Sinn der ganzen CT, MT, ... Daten? Die gehören nicht zum Pfad und afio kann sie deshalb AFAIK gar nicht interpretieren. Dein Leerzeichenproblem kannst Du ansonsten (wenn Du den find nur Pfadnamen ausspucken lässt) so lösen: find ... -print0 | afio -0 ... Dann werden Pfade durch \0 und nichts anderes mehr getrennt. Jan
Hallo Jan,
* Jan Trippler
Was sollen denn die ganzen printf-Angaben? Ich benutzt afio nicht, aber so wie ich die man-Page verstehe, liest afio _Pfadnamen_ und sonst nix. Was ist der Sinn der ganzen CT, MT, ... Daten? Die gehören nicht zum Pfad und afio kann sie deshalb AFAIK gar nicht interpretieren.
Im Prinzip hast Du natürlich recht. Besagtes Skript schreibt die find-Ausgabe (incl. CT, MT, ...) in eine Datei, um später für inkrementelle Backups Vergleiche mit den aktuellen Daten machen zu können.
Dein Leerzeichenproblem kannst Du ansonsten (wenn Du den find nur Pfadnamen ausspucken lässt) so lösen: find ... -print0 | afio -0 ...
Wahrscheinlich werde ich sowas auch machen. Auf inkrementelle Backups kann ich (in diesem Zusammenhang) zur Not auch verzichten. Besten Dank für die Antwort. Gruß Rudi
Am Sonntag, 4. Januar 2004 00:51 schrieb Rudolf Buerger:
* Jan Trippler
[2004-01-04 00:18]: Was sollen denn die ganzen printf-Angaben? Ich benutzt afio nicht, aber so wie ich die man-Page verstehe, liest afio _Pfadnamen_ und sonst nix. Was ist der Sinn der ganzen CT, MT, ... Daten? Die gehören nicht zum Pfad und afio kann sie deshalb AFAIK gar nicht interpretieren.
Im Prinzip hast Du natürlich recht. Besagtes Skript schreibt die find-Ausgabe (incl. CT, MT, ...) in eine Datei, um später für inkrementelle Backups Vergleiche mit den aktuellen Daten machen zu können.
Aha. Hättest Du das gleich geschrieben, hättest Du mich nicht so in Verwirrung gestürzt ;-)
Dein Leerzeichenproblem kannst Du ansonsten (wenn Du den find nur Pfadnamen ausspucken lässt) so lösen: find ... -print0 | afio -0 ...
Wahrscheinlich werde ich sowas auch machen. Auf inkrementelle Backups kann ich (in diesem Zusammenhang) zur Not auch verzichten.
Ein Delta-Backup lässt sich doch einfacher lösen: Mach vor dem Backup ein touch auf eine Timestamp-Datei (einfach eine leere Datei irgendwo in Deinem System) und dann erweiterst Du den find um die Option -newer <Pfad zur Timestamp-Datei>, oder Du schreibst Dir den Zeitstempel des Backup-Beginns weg und nutzt die -mtime-Option des find. Jan
Hi, 0n 04/01/04@00:51 Rudolf Buerger told me:
Hallo Jan,
* Jan Trippler
[2004-01-04 00:18]: Was sollen denn die ganzen printf-Angaben? Ich benutzt afio nicht, aber so wie ich die man-Page verstehe, liest afio _Pfadnamen_ und sonst nix. Was ist der Sinn der ganzen CT, MT, ... Daten? Die gehören nicht zum Pfad und afio kann sie deshalb AFAIK gar nicht interpretieren.
Im Prinzip hast Du natürlich recht. Besagtes Skript schreibt die find-Ausgabe (incl. CT, MT, ...) in eine Datei, um später für inkrementelle Backups Vergleiche mit den aktuellen Daten machen zu können.
Schau Dir mal die afio Beispielscripts unter /usr/share/doc/afio/example an. Ich habe eine weile eine Abwandlung des ersten benutzt und hatte dort keine Probleme mit blanks. -- bye maik
* Maik Holtkamp
Schau Dir mal die afio Beispielscripts unter
/usr/share/doc/afio/example
an. Ich habe eine weile eine Abwandlung des ersten benutzt und hatte dort keine Probleme mit blanks.
Besten Dank für den Hinweis - läuft bestens. Gruß Rudi -- Jedes nützliche Programm wird geändert. -- Murphy's Law
participants (3)
-
Jan.Trippler@t-online.de
-
Maik Holtkamp
-
Rudolf Buerger