Angenommen, Sie haben die folgenden Eingaben:
$ for i in a b c ; do echo "$i is $i" > $i; done
$ cat a b c
a is a
b is b
c is c
Jeder weiß Großbuchstaben sind viel besser!
perl -i.bak -pe '$_ = uc' a b c
So, jetzt
$ cat a b c
A IS A
B IS B
C IS C
Aber wir würden wirklich gerne diese in einem Befehl upcase
aufgerufen kann, und das ist einfach zu tun!
#! /usr/bin/perl -pi.bak
$_ = uc
Sehen Sie es bei der Arbeit:
$ for i in a b c ; do echo "$i is $i" > $i; done
$ cat a b c
a is a
b is b
c is c
$ ./upcase a b c
$ !cat
cat a b c
A IS A
B IS B
C IS C
Weitere Tipps von einem answer to a similar question:
Die -e
Option stellt Perl-Code ausgeführt-was werden Sie als Skript denken könnte auf die Befehlszeile - also lass es los und stecke den Code in den Körper. Lassen Sie -p
in der Shebang (#!
) Linie.
Im Allgemeinen ist es am sichersten, an höchstens einem "Büschel" von Optionen in der Shebang-Linie zu bleiben. Wenn Sie mehr benötigen, können Sie ihre Entsprechungen immer in einen BEGIN {}
Block werfen.
Vergessen Sie nicht, das Ausführungsbit einzuschalten!
chmod +x script-name
Weil Sie nicht die tatsächliche Einzeiler Sie konvertieren möchten, geben habe, hatte ich eine breite, allgemeine Antwort zu geben. Wenn Sie Ihre Frage so bearbeiten, dass sie spezifisch für das ist, was Sie tun möchten, können wir Ihnen hilfreichere Antworten geben.
Willst du Perl in der Linux (Shell) -Befehlszeile aufrufen, oder die Shell Perl aufrufen lassen? – Ether