Comment supprimer les lignes vides partir d'un fichier en Perl

Mettre des lignes vides dans un script Perl que vous créez est une chose facile à faire. Il se peut que quelque chose ne va pas avec votre fichier ou tout simplement vous a frappé sur la touche Entrée de trop nombreuses fois. Peu importe comment il arrive, le script suivant va supprimer ces lignes vides (même si elles contiennent des caractères cachés). Ce petit script non seulement supprimant les lignes blanches, mais génère un fichier Perl qui est compact et prêt à l'emploi.

Instructions

  1. Utilisez le script suivant sur son propre ou de l'ajouter en tant que partie d'un script plus grande. Tapez dans chaque ligne dans les étapes suivantes suivies par la touche Entrée.

  2. dossier ouvert, "filename.ext" ou mourir "$! N";

    Cette ligne ouvre le fichier qui a les lignes vides que vous souhaitez supprimer. Le 'ou mourir "$! N" 'Commande indique le script que si il ya une erreur d'arrêter le script et imprimer l'erreur.

  3. ouvrir OUT, "tempfile $$." ou mourir "$! N";

    Cette ligne crée un fichier temporaire pour stocker les résultats.

  4. while () {




    Cette ligne crée le début de la boucle qui fait tout le travail. Le "tandis que" commande indique au système que tant que il ya une autre ligne dans le fichier le code dans le {et} doit être exécuté.

  5. suivant si / ^ * $ s /;

    Ce texte dit de tester la ligne que le script est en train d'examiner pour voir si elle ne contient que des caractères d'espace blanc comme un onglet ou un espace. Le " / * ^ $ S / " est le test. Si cela est tout ce que cette ligne contient puis exécutez la "Suivant" commande qui raconte le script pour revenir à la "while () {" ligne pour obtenir la ligne suivante dans le fichier, sans que rien ne soit écrit dans le fichier temporaire.

  6. Imprimez, $ _-
    }

    Depuis la "Suivant " commande n'a pas été exécutée, puis la ligne ne doit pas être vide. Donc, cette ligne envoie l'information à imprimer dans le fichier temporaire. Le " } " est partie du récipient pour la boucle que vous avez créé à l'aide "alors que." Lorsque le script rencontre il, le script revenir à la "tandis que" commande et essayer d'obtenir une autre ligne à tester. Si il n'y a pas plus de lignes dans le fichier, alors la boucle sera sorti et le script aller à la prochaine commande.

  7. fermer FILE- fermer;




    Après il n'y a plus de lignes qui doivent être vérifiés ces deux commandes proche à la fois le fichier d'origine et le fichier temporaire qui a été créé, ce qui signifie que les fichiers ne peuvent plus être modifiés.

  8. renommer ("filename.ext", "nom_du_fichier.bak")
    ou mourir "Erreur dans renommer:! $ N";

    Cette ligne renomme le fichier original en nom_du_fichier.bak de sorte qu'il peut être maintenue si elle est à nouveau nécessaire.

  9. renommer ("tempfile $$.", "filename.ext")
    ou mourir "Erreur dans renommer: $!";

    Cette ligne renomme le fichier temporaire que vous avez créé pour le nom de votre fichier d'origine, en écrasant le fichier original avec le nouveau fichier.

    Le script complet devrait ressembler à ceci:

    dossier ouvert, "filename.ext" ou mourir "$! N"-
    ouvrir OUT, "tempfile $$." ou mourir "$! N"-
    while () {
    suivant si / ^ * $ s / -
    Imprimez, $ _-
    }
    près FILE- près OUT-
    renommer ("filename.ext", "nom_du_fichier.bak")
    ou mourir "Erreur dans renommer:! $ N"-
    renommer ("tempfile $$.", "filename.ext")
    ou mourir "Erreur dans renommer: $!";

Conseils & Avertissements

  • Les noms des fichiers peuvent avoir des informations de chemin ajouté à eux, tels que"/this/is/the/path/filename.ext"Ceci afin que le script ne doit pas être placé dans le même dossier que le fichier doit être travaillé on.If quelque chose se passe dans le fichier nouvellement créé simplement renommer le fichier de sauvegarde à partir de "nom_du_fichier.bak" à "filename.ext" pour revenir au fichier d'origine.
  • Assurez-vous que vous avez vraiment besoin de supprimer les lignes du fichier. Sinon, le fichier peut devenir inutile.
» » » » Comment supprimer les lignes vides partir d'un fichier en Perl