Es könnte einen anderen Weg geben, um das zu erreichen, was Sie wollen. Grundsätzlich
- Verwenden Sie die Suchfunktion Befehl, um den Pfad zu den Dateien auszugeben, nach denen Sie suchen. stdout umleiten zu einem Dateinamen Ihrer Wahl.
-
Dann tar mit der Option -T, die es erlaubt, eine Liste von Dateispeicherorten zu nehmen (die, die Sie gerade mit find erstellt haben!)
find . -name "*.whatever" > yourListOfFiles tar -cvf yourfile.tar -T yourListOfFiles
Verwenden Sie dies:
find . -type f -print0 | tar -czvf backup.tar.gz --null -T -
Es wird:
- mit Dateien mit Leerzeichen, Zeilenumbrüchen, führenden Bindestrichen und anderen Witzen umgehen
- verwalte eine unbegrenzte Anzahl von Dateien
- wird Ihre backup.tar.gz nicht wiederholt überschreiben wie mit
tar -c
mitxargs
ausreichen, wenn Sie eine große Anzahl von Dateien haben
Siehe auch:
- GNU-Tar-Handbuch
- Wie kann ich ein tar von stdin erstellen?, suche nach null