Putting Leerzeilen in einem Perl-Skript , die Sie erstellen ist eine einfache Sache zu tun. Es kann sein, dass etwas nicht stimmt mit der Datei oder drücken Sie einfach die Enter-Taste zu oft . Egal, wie es geschieht, wird das folgende Skript entfernen Sie diese Leerzeilen (auch wenn sie versteckte Zeichen enthalten ) . Dieses kurze Skript entfernt nicht nur leere Zeilen , aber gibt ein Perl -Datei, die kompakte und einsatzbereit ist . Anleitung
1
Verwenden Sie das folgende Skript auf eigene oder fügen Sie sie als Teil einer größeren Schrift. Typ in jeder Zeile in der folgenden Schritte durch die Enter-Taste
2
Datei öffnen ", filename.ext " or die " $ \\ n " gefolgt ; .
Diese mündet die Datei, die die leeren Zeilen, die Sie entfernen möchten hat . Die ' or die " $! \\ N" "-Befehl gibt dem Skript , dass, wenn es einen Fehler , um das Skript zu beenden und drucken Sie den Fehler.
3
OUT öffnen", tempfile . $ $ " oder sterben" $ \\ n "; !
Diese Zeile erstellt eine temporäre Datei, um die Ergebnisse zu speichern
4
while ( ) {
. Diese Zeile legt den Beginn der Schleife, die alle von der Arbeit tut. Die "while" -Befehl teilt dem System mit , dass, solange gibt es eine weitere Zeile in der Datei der Code innerhalb der { } und ausgeführt werden muss .
5
next if /^ \\ s * $ /;
Dieser Text sagt , um die Linie , dass das Skript prüft derzeit , ob es enthält nur Leerzeichen wie ein Tabulator oder ein Leerzeichen zu testen. Die " /^ \\ s * $ /" ist der Test . Wenn das alles ist , dass diese Zeile enthält dann den "Weiter" -Befehl, der das Skript zu gehen zurück in die " while ( ) {" Linie , um die nächste Zeile in der Datei , ohne dass etwas an dem temporären geschrieben bekommen erzählt . Datei
6 ausdrucken, $ _ ;}
Seit der "next "-Befehl nicht ausgeführt wurde , dann ist die Linie darf nicht leer sein . Also, schickt diese Linie die Information in die temporäre Datei zu drucken. Die "} " ist Teil des Behälters für die Schleife , dass Sie mithilfe der " Zeit. " Wenn das Skript es trifft, wird das Skript zurück zum "while" -Befehl und versuchen, einen anderen zu prüfenden Leitung zu bekommen. Wenn es keine weiteren Zeilen in der Datei sind, dann wird die Schleife verlassen und das Skript auf den nächsten Befehl gehen
7
close FILE ; . Schließen OUT ;
Nachdem es sind keine weiteren Linien , die überprüft diese beiden Befehle in der Nähe werden sowohl die Original-Datei und die temporäre Datei , die erstellt wurde müssen , was bedeutet, dass die Dateien nicht mehr bearbeitet werden.
8
rename ( "Dateiname . ext "," Dateiname.bak " ) or die " Fehler beim umbenennen : . $ \\ n ";
Diese Zeile benennt die ursprüngliche Datei zu Dateiname.bak so kann es gehalten , wenn es wieder benötigt wird
9
rename ( " . tempfile $ $ ", " filename.ext " ) or die "Fehler beim umbenennen : $! ";
Diese Zeile benennt die temporäre Datei, die Sie erstellt . dem Namen der ursprünglichen Datei und überschreibt die ursprüngliche Datei mit der neuen Datei
die fertige Skript sollte wie folgt aussehen:
Datei öffnen ", filename.ext " or die " $! \\ n "; öffnen OUT " tempfile $ $ " oder sterben" $ \\ n "; . ! while ( ) {next if /^ \\ s * $ /; ausdrucken, $ _ ;} close FILE ; schließen OUT ; rename ( " filename.ext ", " Dateiname.bak " ) or die " Fehler bei umbenennen : $ \\ n"; rename ( " . tempfile $ $ ", " filename.ext " ) or die "Fehler in umbenennen : $! " ;