tar-archiv erstellen

Seiler

Aktives Mitglied
Thread Starter
Dabei seit
05.04.2005
Beiträge
244
Reaktionspunkte
2
Hallo zusammen,

Ich habe in einem Ordner ca. 100.000 Dateien. Ich möchte gerne 26.000, die alle mit "A" beginnen in ein Archiv packen. Ich hab dies mit "tar -cf A* A.tar" versucht, leider bekomme ich die Fehlermeldung das die Argumente-Liste zu lange sei. Evtl. habt ihr ja eine Idee...

Grüsse und Danke

Michael
 
Andersherum wird ein Schuh draus.

tar cf A.tar A*
 
das muss auch anders herum sein:
tar cf A.tar A*
 
Hey,

danke für die schnelle Antwort. Du hast natürlich recht, hab mich da mal elegant vertippt. Nichts desto trotz kommt die Fehlermeldung. ich geh davon aus, dass er nicht in der Lage ist die Dateinamen zu expandieren, wenn ich es mit A* angebe...

Grüsse
Michael
 
Nun ja, bei rund 26.000 Argumenten kommt anscheinend die Shell in schleudern.
Musst halt Etappenweise arbeiten und [-]A oder [-]r (=append) verwenden.

tar cf A.tar A[abc]*
tar Af A.tar A[def]*
...
 
Anmerkung: die "man"-Pages im Terminal sind auch klasse, am Ende sind meistens Beispiele.
man <befehl>
:)
 
Hi,

ok danke. Dann muss ich es so machen, dachte es würde auch anders gehen. Naja, und "man" kenne, aber trotzdem danke... ;)

Grüsse
Michael
 
Nur so aus Interesse:
Gib mal folgendes im Terminal ein und poste das Ergebnis:

getconf ARG_MAX

Man kann übrigens auch

find . -name A\* -exec Af A.tar {} \.

verwenden. Spart lästige Tipparbeit :D.
 
du kannst auch vorher ein filelist mit ls -R A* erstellen und die liste an tar füttern...
ansonsten probier mal:
tar cf A.tar 'A*'
damit die shell A* nicht expanded...
 
getconf ARG_MAX
>1131072

Btw. Bei ls -R A* bekomme ich auch die "Argument ist zu lang" Fehlermeldung
 
Ok,
hab jetzt eine Lösung gefunden:

find -name "A*" | xargs -n1000 tar -rf A.tar

Danke euch allen...

Michael
 
Zurück
Oben Unten