Matthias Dort schrieb:
hier ist meine Kommando-Zeile: find dir1 dir2 dir3 -name "*.c" -mtime +7 | tar cvf /tmp/c.tar - Sie funktioniert aber nicht. Wo kann der Fehler sein?
René Matthäi
Ich vermute mal ins Blaue, dass tar so die Standardausgabe verpackt,
korrekt.
also die mittels find gefundenen Dateinamen (also nur ein Bisschen Text). Vielleicht geht es mit
find dir1 dir2 dir3 -name "*.c" -mtime +7 | xargs tar cvf /tmp/c.tar
Das funktioniert aber nur vielleicht :-) Werden sehr viele Dateien gefunden, startet xargs mehrere Prozesse (nach einander) jeweils mit einem Teil der Dateinamen. Folge: "übrigbleibt" nur das tar-Archiv des letzten Aufrufs. besser wäre z.B. find dir1 dir2 dir3 -name "*.c" -mtime +7 > /tmp/files.txt tar -cvf /tmp/c.tar -T /tmp/files.txt -T, --files-from=F get names to extract or create from file F aber warum so kompliziert? tar kennt doch auch: und mit "date" kann man auch rechnen: date -d "-7 days" tar -cvf /tmp/c.tar --newer-mtime=`date -d "-7 days" +"%Y/%m/%d"` dir1 dir2 Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 9204871 Fax: +49(721) 24874 Juergen.Vollmer@[informatik-vollmer.de|alumni.uni-karlsruhe.de|acm.org] www.informatik-vollmer.de