GNU/Linux >> LINUX-Kenntnisse >  >> Linux

8 fantastische Perl-Befehlszeilenargumente, die Sie kennen sollten

Befehlszeilenoptionen in Perl könnten nützlich sein, um kleinere Aufgaben effektiv zu erledigen.

Lassen Sie uns in diesem Artikel überprüfen, wie Sie Perl-Befehlszeilenoptionen verwenden, um die folgenden Aufgaben auszuführen:

  • Dateiinhalt bearbeiten
  • Zeilentrennzeichen behandeln
  • Syntaxfehler prüfen
  • Module laden
  • Schleife ausführen
  • Perl-Code ausführen
  • Eingabezeilentrenner setzen
  • Teilen Sie die Eingabezeile auf
  • usw.

1. Perl -i Option:Dateiinhalt bearbeiten

Es öffnet Dateien einzeln und ersetzt den Inhalt durch STDOUT.

Lassen Sie uns die folgende sample.txt-Datei verwenden, um ihren Inhalt wie unten gezeigt in Großbuchstaben umzuwandeln.

$ cat sample.txt
Practical Extraction Report Language

$ perl -pi  -e “tr/[a-z]/[A-Z]/” sample.txt

$ cat sample.txt
PRACTICAL EXTRACTION REPORT LANGUAGE

Sie können die Originaldatei auch wie unten gezeigt sichern:

$ perl -pi.bak  -e “tr/[a-z]/[A-Z]/” sample.txt

$ cat sample.txt
PRACTICAL EXTRACTION REPORT LANGUAGE

$ cat sample.txt.bak
Practical Extraction Report Language

Um ein Perl-Programm zu debuggen, verwenden Sie den Perl-Debugger, wie wir zuvor erklärt haben.

2. Perl -l Option:Umgang mit Zeilentrennzeichen

Das Zeilentrennzeichen nimmt den Oktalwert als Argument. Im Folgenden finden Sie einige Beispiele für einige gängige Trennzeichen und ihren Oktalwert.

Character    Octal Value
=========    =========
new line(\n) 012
tab(\t)      011
space        040
&            046

Hinweis:Verwenden Sie den Befehl „man ascii“, um den Oktalwert für alle Zeichen zu erfahren.

Beispielverwendung des Zeilentrennzeichens:

$ perl -p -l046 -e “tr/[a-z]/[A-Z]/”;
bala

Output :

BALA&

Siehe auch 6 Perl-Eval-Funktionen für zusätzliche Lektüre.

3. Perl -c Option:Syntaxfehler prüfen

Option -c kompiliert Ihr Programm, ohne es auszuführen, um sicherzustellen, dass keine Syntaxfehler in Ihrem Programm vorhanden sind.

$ perl -c sample.pl

4. Perl -M Option :Zum Laden von Modulen

Mit der Option Perl -M können wir die gewünschten Module wie unten gezeigt laden.

$ perl -MFile::Copy -e ‘move(“sample.txt”,”/tmp”);’

Die Option -m lädt auch die Module, importiert aber nichts. Folgendes ist der Unterschied:

  • -MFile::Copy entspricht „use File::Copy; „
  • -mFile::Copy entspricht „use File::Copy()“

Wir haben die Option -M auch in unseren früheren 20 Killer-Perl-Programmiertipps besprochen.

5. Perl -n und -p Option:Implizite Schleife

Option -n schließt Ihren Code wie unten gezeigt in die Schleife ein.

while(<>) {
# perl code
}

Das folgende Snippet beschreibt dies besser.

while(<>) {
$_ =~ tr/[a-z]/[A-Z]/;
}

Durch die Verwendung von -n können wir das obige Code-Snippet wie unten gezeigt umschreiben.

$ perl -n -e ‘tr/[a-z]/[A-Z]/;print’

Option -p schließt Ihren Code wie unten gezeigt in die Schleife ein.

while(<>) {
# perl code
print;
}

Das folgende Snippet beschreibt dies besser.

while(<>) {
$_ =~ tr/[a-z]/[A-Z]/;
print;
}

Durch die Verwendung von -p können wir das obige Code-Snippet wie unten gezeigt umschreiben.

$ perl -p -e “tr/[a-z]/[A-Z]/”;

Wenn Sie viel Perl-Code entwickeln, sollten Sie das Best Practices-Buch von Perl lesen.

6. Perl -e Option:Perl-Code in der Kommandozeile selbst ausführen

Einfache oder kurze Perl-Programme können mit dieser Option, wie unten gezeigt, in die Befehlszeile selbst geschrieben werden.

$ perl -e “print \”Username : $ENV{USER}”

7. Perl -0 Option:Datensatztrennzeichen eingeben

Mit der Option -0 können wir das „Eingabedatensatztrennzeichen“ von Zeilenumbruch auf etwas anderes ändern, wie unten gezeigt.

$ perl -p -0046 -e “tr/[a-z]/[A-Z]/”;
bala
raja&

Output :

BALA
RAJA&

Im obigen Beispiel ist 046 der Oktalwert für das Zeichen „&“. Nachdem es ein &-Zeichen empfangen hat, betrachtet Perl es als das Ende eines Datensatzes und führt dann die Übersetzungsoperation durch.

8. Perl -a Option:Teilt die Eingabezeile auf

Es teilt $_ in @F mit dem Trennzeichen als Leerzeichen.

Das folgende Beispiel demonstriert die Option -a.

$ cat emp_salary.txt
bala     10000
rajesh  12300
kumar 14000

$ perl -n -l012  -a -e ‘print “$F[1]“‘  emp_salary.txt
10000
12300
14000

Standardmäßig nimmt es Leerzeichen als Trennzeichen und führt die Teilungsoperation aus. Das Trennzeichen kann wie unten gezeigt mit der Option -F geändert werden.

$ cat emp_salary.txt
bala:10000
rajesh:12300
kumar:14000

$ perl -n -l012  -F: -a -e ‘print “$F[1]“‘  emp_salary
10000
12300
14000

Linux
  1. 14 gängige Netzwerkports, die Sie kennen sollten

  2. 10 Befehle, die jeder Linux-Benutzer kennen sollte

  3. Befehlszeilenargumente an Bash-Skript übergeben?

  4. Führen Sie Perl/PHP-Skripte von der Befehlszeile aus

  5. Nagios:So aktivieren Sie check_nrpe-Befehlszeilenargumente

30 erstaunliche Fakten über Linux, die Sie kennen sollten

9 erstaunliche Fakten über SUSE Linux, die Sie kennen sollten

Einige Alternativen zum „obersten“ Befehlszeilendienstprogramm, die Sie vielleicht kennen möchten

Top 50+ Linux-Befehle, die Sie kennen MÜSSEN

Wie liest man Befehlszeilenargumente in Shell-Skripten?

Entwickeln Sie schnell eine GUI für die Befehlszeile