J'ai trouvé un problème avec linux gnu tar. quand j'utilise l'option
-T - (for file list from stdin) or
-T named_pipe_file ,
ça ne marche pas à la volée. par exemple, un script interactif simple:
while read x; do echo $x; done|\
tar cvf tar.tar -T -
tar commence l'archivage uniquement lorsque j'appuie sur ^ D pour marquer l'entrée EOF. La même situation se présente lorsque j'utilise un canal nommé:
mkfifo named_pipe
tar cvf tar.tar -T named_pipe
while read x; do echo $x; done >named_pipe
Il semble que le goudron fasse de la mise en mémoire tampon. Mais c'est combien de temps? Je dois remballer beaucoup de fichiers dans TAR mais avoir peu d’espace disque. Ensuite, je dois le faire à la volée. Je vais utiliser l'option tar --remove-files pour cela. Mais sans interactivité pour l'option -T, c'est impossible. Dans le plan, une partie du code "while" doit décompresser le fichier dans un fichier et attendre que TAR soit supprimé et le fichier suivant. Merci pour les idées :)
ma version de tar: tar (GNU tar) 1.26 (C) 2011 FSF
tar
noms de fichiers ou les données réelles à compresser? L'-T
option attend une liste de noms de fichiers et fonctionne comme annoncé dans une boucle sur mon système.