Potrebbe esserci un altro modo per ottenere ciò che desideri. Fondamentalmente,
- Utilizza trova comando per generare il percorso di qualsiasi file tu stia cercando. Reindirizza stdout a un nome file di tua scelta.
-
Quindi tar con l'opzione -T che gli consente di prendere un elenco di percorsi di file (quello che hai appena creato con find!)
find . -name "*.whatever" > yourListOfFiles tar -cvf yourfile.tar -T yourListOfFiles
Usa questo:
find . -type f -print0 | tar -czvf backup.tar.gz --null -T -
Sarà:
- gestisci file con spazi, newline, trattini iniziali e altre stranezze
- gestire un numero illimitato di file
- non sovrascriverà ripetutamente il tuo backup.tar.gz come usando
tar -c
conxargs
farà quando hai un gran numero di file
Vedi anche:
- Manuale di GNU tar
- Come posso creare un tar da stdin?, cerca null