In einer Datei, sagen wir xyz.txt Ich möchte das Muster einer beliebigen Zahl, gefolgt von einem Punkt Beispiel ersetzen: 1., 2., 10., 11. etc .. mit einem Leerzeichen. Wie man einen Perl-Befehl in der Befehlszeile verfasst, um auf die Datei zu reagieren, um das obige zu tun, was sollte die zu verwendende Regex sein?
Bitte helfen Sie Danke.
Das muss ein Perl oneliner sein?
%Vor% Die Perl-Befehlszeilenoptionen: -i
wird verwendet, um anzugeben, was mit der Eingabedatei passiert. Wenn Sie keine Dateierweiterung angeben, geht die ursprüngliche Datei verloren und wird durch die Perl-Ausgabe ersetzt. Zum Beispiel, wenn ich das hatte:
Die ursprüngliche Datei wird mit einem .bak
Suffix gespeichert und & lt; Dateiname & gt; selbst enthält Ihre Ausgabe.
Das -p
bedeutet, dass Sie Ihr Perl-Programm in eine Druckschleife einschließen, die SOFORT so aussieht:
Dies ist eine etwas vereinfachte Erklärung, was vor sich geht. Sie können die tatsächliche Perl-Schleife sehen, indem Sie eine perldoc perlrun
von der Befehlszeile ausführen. Die Hauptidee besteht darin, dass Sie auf jede Zeile einer Datei wie sed
oder awk
reagieren können.
Das -e
enthält einfach Ihren Perl-Befehl.
Sie können auch eine Dateiumleitung durchführen:
%Vor%