Suchen und Ersetzen in Dateien mit Perl
Hier mal das kürzeste Beispiel aus meiner Schulung, die ich gerade halte. Und sicher auch das Beispiel, mit dem größten Erklärungsbedarf:
#!/usr/bin/perl -i
while(<>)
{
s/\r//g;
print;
}
Was macht dieser Perl-Code? Genau: Textdateien mit \r\n als Zeilenumbruch (DOS, Windows) in eine Textdatei mit \n als Zeilenumbruch (Linux, Unix) konvertieren. Dazu muss das Skript nur mit perl convert.pl file [file2] [file3] [etc.] aufgerufen werden.
- Fangen wir mit der Erklärung von innen nach außen an: print; ohne jegliche Parameter schreibt einfach nur den Wert unserer Standardvariable $_.
- Die RegEx entfernt aus eben jenem $_ alle \r Elemente.
- while(<>) nimmt nun die erste Datei aus den Programmparametern und verwendte diese als Eingabe- und Ausgabedatei. Sind mehrere Dateien angegeben, werden diese nacheinander bearbeitet.
Geschrieben von
Jan Theofel
am 2.11.2004
um 18:44 Uhr
Permalink
Abgelegt unter Perl
4 Kommentare


1 | josef max | 17.02.2005 um 8:06