![]() |
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| UNIX for Dummies Questions & Answers Wenn Sie nicht sicher sind, wo Sie eine UNIX-oder Linux-Frage, post it here. Alle UNIX-und Linux-Anfänger willkommen! |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| So entfernen Sie neue Zeichen | shihabvk | UNIX für Fortgeschrittene und Experten | 7 | 06-18-2009 08:44 AM |
| bash while read, wie Sie \ n-Zeichen | papasj | Shell Programmierung und Scripting | 3 | 05-25-2009 10:24 PM |
| Entfernen Sie letzte Zeichen eines Begriffs | Raynon | Shell Programmierung und Scripting | 6 | 03-20-2008 06:04 AM |
| Der Versuch, um einzelne Zeichen aus einer Zeile | Iz3k34l | UNIX for Dummies Questions & Answers | 5 | 07-07-2007 02:29 PM |
| Entfernen Sie letzte Zeichen der Linie | danhodges99 | Shell Programmierung und Scripting | 4 | 05-21-2003 10:30 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Hi,
Ich versuche, um die Server-Load-und E-Mail automatisch mir. Dies ist, wie es geht svrload \u003d `uptime | awk '(print $ 11)'` Jetzt ist dieser liefert einen Wert sagen "1,39". Wie kann ich die Band "," aus dem Wert und wandeln diese in eine ganze Zahl zu vergleichen mit einer Schwelle? Danke Murali |
|
||||
|
Du bist willkommen. Es gibt viele Wege, dies zu tun.
Hier ist die Erklärung: echo "1,39" | perl -pe 's /.$//' perl -PE Dies erfordert perl. Das "p" Ursachen Perl , um durch die Eingabe der Ausgabe, unabhängig davon, ob es nicht geändert wird entlang des Weges. Das "e" gibt an, Perl dass der Ausdruck (Code) geht es weiter. Der Ausdruck ist eine einfache regex substitution. Die Zeit steht für ein beliebiges Zeichen, und die Dollar-Zeichen bedeutet "Ende der Zeile." Regulärer Ausdruck, so dass dies eine beliebige Zeichen am Ende der Zeile. Der zweite Teil des regulären Ausdrucks war leer, so dass, wenn der erste Teil mit, es ist durch nichts. Hier finden Sie eine ausführlichere regulären Ausdruck, in Perl Syntax, nur zur Information. $ line \u003d ~ s / fred $ / Barney /; Hier, ich Ersatz "Fred" am Ende der Zeile mit "Barney". In der kürzeren Beispiel, ich wollte etwas zu beseitigen, so gab es nichts zwischen den beiden letzten vorausschauende Schrägstriche. Also, ich habe nicht die "variable \u003d ~" Syntax, weil in einem Perl One-Liner der Linie der Eingabe wird von Perl. Es kann auch ausdrücklich auf die mit dem $ _. Diese beiden sind identisch: echo "1,39" | perl -pe 's /.$//' echo "1,39" | perl -pe '$ _ \u003d ~ s /.$//' Schließlich ist die "\u003d ~" Syntax $ _ setzt auf das Ergebnis der mit dem regulären Ausdruck Substitution auf. In der kürzeren Version, die implizite und Perl versteht. ShawnMilo |
|
||||
|
Ich bevorzuge Python, aber Sie können nicht schlagen Perl One-Liner für eine ziemlich komplizierte Dinge in einem Skript oder in der Befehlszeile.
Meiste von dem, was ich zu erklären, wurde über reguläre Ausdrücke Syntax, die eine ganz andere Ball von Wachs. Lassen Sie sich nicht von regulären erschrecken Sie weg von Perl. Ich empfehle Jeffrey Friedl's Buch "Mastering Regular Expressions". Ich denke, die aktuelle Ausgabe ist die dritte. Lesen Sie die ersten 80 Seiten oder so und du wirst ein regex Champ. ShawnMilo |
![]() |
| Lesezeichen |
| Tags |
| perl, perl regex, regex, reguläre Ausdrücke |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|