J'aimerais créer 1000 fichiers texte avec du texte pour tester un script, comment créer autant autant si des fichiers texte à une machine à utiliser à l'aide du script Shell ou de Perl. S'il vous plaît quelqu'un pourrait-il m'aider? P>
9 Réponses :
Je ne sais pas dans Shell ou Perl, mais en Python serait: Je pense être assez simple ce qu'il fait. P> P>
J'ai essayé votre script, mais je reçois une erreur :./crea.py:4: AVERTISSEMENT: 'with' deviendra un mot clé réservé dans le fichier Python 2.6 "./crea.py", ligne 4 avec Open ('Fichier % 0.3d '% I,' W ') As FD: ^ SyntaxError: Syntaxe invalide
essayer de futur b> importer avec_statement
Ce serait de __future__ importation avec_statement code> (le système a mangé les traits de soulignement dans B> Commentaire de GhostDog74).
#!/bin/bash seq 1 1000 | split -l 1 -a 3 -d - file Above will create 1000 files with each file having a number from 1 to 1000. The files will be named from file000 to file999.
for x in range(1000): open("file%03d.txt" % x,"w").write("some text")
Vos noms de fichiers de la version Bash seront de 10 à 1000999. Je pense que vous voulez dire echo "Quelque texte"> fichier $ fichier code>
La première option nécessite Bash 4 d'utiliser le rembourrage. Dans les versions antérieures, vous pouvez spécifier des zéros principaux, mais ils n'apparaîtront pas dans le résultat.
#!/bin/bash for suf in $(seq -w 1000) do cat << EOF > myfile.$suf this is my text file there are many like it but this one is mine. EOF done
Vous pouvez utiliser uniquement BASH sans externe et être capable de poser les chiffres afin que les noms de fichiers soient correctement trier (si nécessaire): bash 4 peut le faire comme ceci: p> Les deux versions produisent des noms de fichiers tels que "File0001" et "File1000". P> P>
en Perl: pourquoi les 2 premières lignes? Parce qu'ils sont bonnes pratiques donc je les utilise même dans des programmes à 1 coups comme ceux-ci. P> Cordialement,
Offre p> p>
... ou vous pouvez simplement utiliser autotodie; code>
Pour la variété:
#!/usr/bin/perl use strict; use warnings; use File::Slurp; write_file $_, "$_\n" for map sprintf('file%04d.txt', $_), 1 .. 1000;
Voici un programme de PERL de ligne de commande courte.
perl -E'say $_ $_ for grep {open $_, ">f$_"} 1..1000'
Prenez simplement un gros fichier comptant plus de 1000 octets (pour 1000 fichiers avec contenu). Il y en a beaucoup sur votre ordinateur. Ensuite, faites (par exemple): ceci est instantanément rapide. P> ou un fichier plus grand: p> split -n 1000000 /etc/gconf/schemas/gnome-terminal.schemas
Le seul époque peut être "Les fichiers ne seront pas des fichiers texte". J'ai une version archaïque de GNU Split code> qui ne reconnaît pas
-n code>; La version BSD (Mac OS X) de celle-ci ne le reconnaît pas non plus. J'ai juste besoin de mettre à niveau mon installation Coreutils.
Ok, c'est vrai. Si vous souhaitez un million de fichiers texte, utilisez simplement un gros fichier texte comme entrée. Il y en a assez sur votre ordinateur. Par exemple /etc/gconf/schemas/gnome-terminal.schemas qui a 2,6 Mo si vous en voulez un très gros.
Pouvez-vous créer un fichier texte? Pouvez-vous concevoir un schéma pour générer des noms de fichiers, par exemple. File0001, File002? Pouvez-vous écrire une boucle pour faire ces deux tâches. À quel moment êtes-vous coincé?