finden Sie mit xargs und Teer
Habe ich Folgendes will ich tun:
find . -maxdepth 6 ( -name *.tar.gz -o -name bediskmodel -o -name src -o -name ciao -o -name heasoft -o -name firefly -o -name starlink -o -name Chandra ) -prune -o -print| tar cvf somefile.tar --files-from=-
also schließen Sie eine ganze Menge Zeug, nur schauen, um 6 Unterverzeichnisse, die Tiefe, und dann noch einmal beschneiden wird durchgeführt, Teer den rest.
Nicht schwer. Das bit vor dem pipe (|) funktioniert zu 100%. Wenn ich ausschließen, tar, dann bekomme ich, was ich bin nach (für den Bildschirm). Aber sobald ich das Rohr, und der Teer, Teere alles, einschließlich all dem Zeug, ich habe nur ausgeschlossen in der zu finden.
Habe ich versucht eine Reihe von verschiedenen Iterationen:
-print0 | xargs -0 tar rvf somefile.Teer
-print0 | xargs -0 tar rvf somefile.tar --null --files-from=-
-print0 | tar cvf, compressed Volume file somefile.tar --null -T -
Also was mache ich falsch? Ich habe dies vor, aber jetzt ist es nur mir graue Haare.
InformationsquelleAutor der Frage user1534692 | 2012-07-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was für mich gearbeitet ist, eine Kombination -drucken-flag für finden,, und dann --files-from auf dem tar-Befehl. In meinem Fall muss ich den Teer-bis zu 5000+ log-Dateien, sondern nur mit xargs nur gab mir 500 Dateien in der resultierenden Datei.
Haben Sie "--files-from=-", wenn Sie nur wollen "--files-from -" und dann ich denke Sie benötigen a - vor der cvf, compressed Volume file, wie das folgende.
InformationsquelleAutor der Antwort david.tanner
Ich erinnere mich, so etwas wie unten Zeile tar Reihe von Dateien zusammen. Ich war über die spezifischen Dateien, die ich gruppieren möchten, so lief ich so etwas
In Ihrem Fall Frage ich mich, warum Sie das tun, "- o" vor dem -print zu sein scheint, dass alles wieder
InformationsquelleAutor der Antwort rajshenoy
Wenn Ihr findet, ist die Rückkehr Verzeichnisse, dann werden diese übergeben tar, und der gesamte Inhalt aufgenommen werden, unabhängig von der AUSSCHLÜSSE in Ihrem Befehl suchen.
So, ich glaube, Sie brauchen, um ein "-type f" in der zu finden.
InformationsquelleAutor der Antwort Joe Watkins
Verwende ich eine Kombination der zwei Ansätze, die oben eine Sicherungskopie von einem Tag Arbeit, die ich mache: rm -rf neu.tgz; finden . -type f -mtime 0 | xargs tar-cvf, compressed Volume file neu.tgz;
InformationsquelleAutor der Antwort Thomas Altfather Good
Dateien verwenden-aus, ohne eine option war das nur um es für mich arbeiten. Alle anderen Optionen, alle Dateien in dem Verzeichnis statt in meiner erstellten Liste.
War dies meine Lösung:
InformationsquelleAutor der Antwort Rodo