Création de fichiers par lot à l'aide d'un vecteur
Résolu
artagon7
Messages postés
417
Date d'inscription
dimanche 6 novembre 2005
Statut
Membre
Dernière intervention
12 novembre 2024
-
Modifié le 11 nov. 2024 à 16:58
[Dal] Messages postés 6203 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 29 janvier 2025 - 4 déc. 2024 à 19:02
[Dal] Messages postés 6203 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 29 janvier 2025 - 4 déc. 2024 à 19:02
A voir également:
- Création de fichiers par lot à l'aide d'un vecteur
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Creation compte gmail - Guide
- Creation de compte google - Guide
- Comment faire un lot sur vinted - Guide
2 réponses
mamiemando
Messages postés
33539
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
19 février 2025
7 828
Modifié le 12 nov. 2024 à 14:51
Modifié le 12 nov. 2024 à 14:51
Bonjour,
Voici comment tu peux faire en perl :
#!/usr/bin/env perl use strict; use warnings FATAL => "all"; for my $term ("er", "ir", "oir") { open my $fh, ">", "fich-$term.txt"; close $fh; }
Maintenant, le fait que tu évoques "touch" dans ton programme de départ me laisse penser que tu es sous Linux, et du coup un simple script shell est plus simple :
#/usr/bin/env sh for term in "er" "ir" "oir" do touch "fich-$term.txt" done
Par ailleurs, si l'idée est de prendre en main perl car tu cherches un langage de script plus puissant que bash, je te conseille plutôt de t'orienter vers python, bien plus utilisé de nos jours que perl.
#/usr/bin/env python3 for term in "er", "ir", "oir": with open("fich-" + term + ".txt", "w") as f: pass
Bonne chance
[Dal]
Messages postés
6203
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
29 janvier 2025
1 099
Modifié le 4 déc. 2024 à 19:04
Modifié le 4 déc. 2024 à 19:04
Bonjour artagon7 et mamiemando,
Le code Perl proposé par mamiemando fonctionne, mais écrase (en le vidant) le fichier s'il existe.
Le module File::Touch propose en Perl les fonctionnalités de touch
use File::Touch; my @files = ('one','two','three'); my $count = touch(@files);
(à installer via cpan)
Voilà un code commenté montrant une façon de faire ce qu'artagon7 souhaitait faire en Perl
#!/usr/bin/perl use strict; use warnings; use File::Touch; # tableau avec les terminaisons my @term = ("er", "ir", "oir"); # tableau vide des noms de fichiers my @files; # on prend chaque élément du tableau term pour créer # le tableau des noms de fichiers foreach my $term (@term) { push(@files, "fich-$term.txt"); } # on fait un touch appliqué à tous les éléments du tableau my $count = touch(@files); print "$count files touched\n";
12 nov. 2024 à 19:17
Salut mamiemando,
J'ai opté pour ton script Bash. Ça fonctionne.
Merci beaucoup
13 nov. 2024 à 11:47
Parfait, bonne continuation !