10
votes

Comment créer 1000 fichiers que je peux utiliser pour tester un script?

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?


1 commentaires

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é?


9 Réponses :


1
votes

Je ne sais pas dans Shell ou Perl, mais en Python serait: XXX

Je pense être assez simple ce qu'il fait.


3 commentaires

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 importer avec_statement


Ce serait de __future__ importation avec_statement (le système a mangé les traits de soulignement dans Commentaire de GhostDog74).



8
votes
#!/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.

0 commentaires

10
votes
for x in range(1000):
    open("file%03d.txt" % x,"w").write("some text")

2 commentaires

Vos noms de fichiers de la version Bash seront de 10 à 1000999. Je pense que vous voulez dire echo "Quelque texte"> fichier $ fichier


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.



2
votes
#!/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

0 commentaires

1
votes

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): xxx

bash 4 peut le faire comme ceci: xxx

Les deux versions produisent des noms de fichiers tels que "File0001" et "File1000".


0 commentaires

3
votes

en Perl: xxx

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.

Cordialement, Offre


1 commentaires

... ou vous pouvez simplement utiliser autotodie;



3
votes

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;


0 commentaires

0
votes

Voici un programme de PERL de ligne de commande courte.

perl -E'say $_ $_ for grep {open $_, ">f$_"} 1..1000'


0 commentaires

1
votes

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): xxx pré>

ceci est instantanément rapide. P>

ou un fichier plus grand: p>

split -n 1000000 /etc/gconf/schemas/gnome-terminal.schemas


2 commentaires

Le seul époque peut être "Les fichiers ne seront pas des fichiers texte". J'ai une version archaïque de GNU Split qui ne reconnaît pas -n ; 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.