Comment puis-je geler plusieurs répertoires et également ajouter des fichiers avec un modèle comme '.txt' et exclure certains répertoires et exclure certains modèles comme '.exe' tous dans un seul fichier tar. Le point principal est le nombre de répertoires sont inconnus (dynamique), donc je dois passer à travers je suppose?Comment gorger plusieurs fichiers en Perl?
Répondre
En supposant que vous avez travaillé ce que les fichiers que vous souhaitez en utilisant Fichier :: Trouvez alors quelque chose comme
my @dir = qw/a b/ ;
system "tar -cvf mytar @dir" ;
pourrait fonctionner. Mais vous pourriez trouver que la ligne de commande est trop longue.
Dans ce cas, peut-être écrire la liste des fichiers dans un fichier et utilisez l'option
--files-from=NAME
(et s'il vous plaît ne me dites pas que vous n'êtes pas autorisé à écrire dans des fichiers)
Il se cassera si l'un des noms de fichiers inclut un caractère avec une signification spéciale pour le shell. Fournissez des arguments en tant que liste après l'argument PROGRAM. – Quentin
vous parlez probablement de ma première suggestion. Les fichiers dans --file-from seraient en sécurité contre cela. – justintime
J'utilise Archive::Tar et POPULATE @filelist
avec Class::Path (en particulier Class::Path::Dir
méthode « s recurse
)
Je ne peux pas utiliser Archive :: Tar, parce que j'utilise l'appel système pour créer un fichier tar (c'est l'exigence) $ tarExe = "$ toolDir/bin/gnu_tar/$ {binPlatform} /tar.exe"; système ("$ {tarExe} -cvf $ tarname $ location"); – superstar
Vous avez une obligation de le faire à la dure? Il n'y a pas de bonne raison de le faire sur un vrai projet. Est-ce que ce sont les devoirs? – Quentin
J'ai besoin d'utiliser tar.exe du dossier winx64 pour créer le fichier tar. C'est la méthode standard que l'on m'a suggéré de faire. C'est un vrai projet pour créer des fichiers tar. – superstar
Si pour une raison quelconque vous ne pouvez pas, ou ne sont pas autorisés à, installer des modules supplémentaires au-delà du système de base, vous pouvez utiliser File::Find au lieu de Class :: Path.
Il semble que vous sachiez déjà comment appeler la commande tar du système, donc je vais m'en tenir à cela.
- 1. Comment lire plusieurs lignes en Perl?
- 2. Comment lire des fichiers Excel en Perl?
- 3. Comment utiliser plusieurs fichiers à la fois en utilisant bash
- 4. Perl Lecture en différé et fichiers gzippés
- 5. Comment télécharger plusieurs fichiers en PHP
- 6. comment exécuter plusieurs fichiers .cmd en parallèle
- 7. plusieurs fichiers os.unlink en python
- 8. copier plusieurs fichiers en python
- 9. En Perl, comment puis-je décompresser plusieurs variables?
- 10. Comment remplacer les fonctions Perl en activant plusieurs remplacements?
- 11. En Perl, comment dois-je traiter plusieurs lignes
- 12. En Perl, comment puis-je parcourir plusieurs éléments d'un tableau?
- 13. Comment ouvrir un tableau de fichiers en Perl?
- 14. Comment concaténer les lignes correspondantes dans deux fichiers en Perl?
- 15. Comment puis-je indexer un tas de fichiers en Perl?
- 16. Comment dois-je analyser de gros fichiers XML en Perl?
- 17. Comment fusionner des fichiers PDF avec Perl?
- 18. Existe-t-il un moyen d'utiliser Acrobat Reader en Perl pour enregistrer plusieurs fichiers PDF en tant que fichiers HTML?
- 19. Comment décompresser des fichiers binaires avec Perl?
- 20. Perl Déplacer des fichiers
- 21. Comment effectuer plusieurs remplacements avec Perl?
- 22. Comment puis-je ftp plusieurs fichiers?
- 23. Comment puis-je définir plusieurs timefmt dans gnuplot avec perl?
- 24. Comment exécuter plusieurs fichiers msi
- 25. Comment puis-je générer plusieurs handles de fichiers Perl par programme?
- 26. diviser PDF en plusieurs fichiers en C#
- 27. perl - comment lire plusieurs fichiers dans un répertoire et stocker des données dans une variable unique
- 28. perl plusieurs lignes de substitution
- 29. Télécharger des fichiers avec Perl
- 30. en cours d'exécution fichier jar avec plusieurs arguments en perl
remerciements pour la correction !! – superstar