Finde die Dateien, die ich brauche, die Pipe zu xargs und Tar nicht

604
JuanEs1eban

Ich verwende die folgende Befehlszeile:

find . -mtime -15 -mtime 0 -print0 | xargs -0 tar cjvf /home/user/adjuntos.tar.bz2 

Die linke Seite der Pipe wirkt wie ein Zauber, aber die rechte Seite der Pipe übernimmt alle Dateien aus dem Verzeichnis.

Ich weiß nicht was ich falsch mache. Kannst du mir bitte helfen?

0

2 Antworten auf die Frage

2
sebasth

Ihr findBefehl wahrscheinlich listet .auch ( mtimevon .Sein möglicherweise die gleiche wie die zuletzt geänderten Datei), das aktuelle Verzeichnis verursacht durch Teer enthalten sein.

Wenn Sie nur reguläre Dateien und keine Verzeichnisse einschließen möchten, können Sie dies -type fmit verwenden find.

0
xenoid

Abgesehen von der -type f, keine Notwendigkeit xargs, funktioniert eine einfache -Exec genauso gut:

find . -mtime -15 -mtime 0 -exec tar cjvf /home/user/adjuntos.tar.bz2 {} + 

(das {} +bedeutet "alle passenden Dateien zusammen")