-
Shellskript: Einzeiler, der namensaehnliche Leerkopien erstellt
Hallo zusammen,
gerade beiße ich mir die Zähne an einem Einzeiler aus, der folgendes tun soll:
Für jede Datei in einem Baum, die größer 2GB ist, in einem anderen Baum (und dort an der gleichen Stelle) eine leere Datei anlegen,
die genauso heißt, nur mit einer zusätzlichen Dateiendung.
Beispiel:
Für /baum/ast/ast/blatt.dat
sofern größer 2GB,
soll eine leere Datei
/dummies/baum/ast/ast/blatt.dat.dum
angelegt werden.
Dabei ist meine erste Schwierigkeit, die Zieldatei anzulegen, ohne mich vorher um das Anlegen von
/dummies/baum/ast/ast/
kümmern zu müssen.
Die zweite Schwierigkeit ist (wenn ich das Verzeichnis manuell angelegt habe),
blatt.dat.dum
anzulegen.
Ich verzettele mich da entweder mit verschachtelten Pipelines oder nötigem/unnötigem Escapen von Steuerzeichen, usw.
Denken würde ich sowas wie:
find /baum -size 2G -exec echo > /dummies/{}.dum \;
Wobei "echo > " fürs Anlegen einer Leerdatei gedacht ist.
Oder
find /baum -size 2G -print0 | xargs -0 cp --parents /leeredatei /dummies/{}.dum
Nichts davon geht natürlich ;-)
Könnte mir jemand helfen?
Herzlichen Gruß,
ius
Geändert von ius (28-08-2014 um 18:29 Uhr)
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen