![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| UNIX for Dummies Domande & Risposte Se non sei sicuro dove pubblicare un UNIX o Linux domanda, posta da qui. Tutti i neofiti di Linux e UNIX benvenuto! |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| Per rimuovere il carattere di nuova riga | shihabvk | UNIX e avanzata per utenti esperti | 7 | 06-18-2009 08:44 AM |
| bash mentre leggere come rimuovere \ n carattere | papasj | Shell scripting e di programmazione | 3 | 05-25-2009 10:24 PM |
| Rimuovere l'ultimo carattere di un termine | Raynon | Shell scripting e di programmazione | 6 | 03-20-2008 06:04 AM |
| Cercando di rimuovere il carattere unico di una linea | Iz3k34l | UNIX for Dummies Domande & Risposte | 5 | 07-07-2007 02:29 PM |
| Rimuovere l'ultimo carattere della linea | danhodges99 | Shell scripting e di programmazione | 4 | 05-21-2003 10:30 AM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
Salve,
Sto cercando di catturare il carico del server e-mail mi automaticamente. Ecco come va svrload \u003d `uptime | awk '(print $ 11)'` Ora, questo restituisce un valore dire "1,39". Come faccio a striscia la "," il valore restituito da convertire e questo in un numero intero, per confrontare con una soglia? Grazie Murali |
|
||||
|
Per spogliano l'ultimo carattere:
echo "1,39", | perl -pe 's /.$//' Uscita: 1,39 Se si desidera solo una virgola spogliano e ignorare qualsiasi altra cosa, sostituire il periodo in regex che con una virgola. ShawnMilo |
|
||||
|
You're welcome. Ci sono molti modi per farlo.
Ecco la spiegazione: echo "1,39", | perl -pe 's /.$//' perl -ae Ciò richiede perl. La "p" cause Perl di passare attraverso il contributo alla produzione, anche se non si è modificato lungo il percorso. La "e" indica a Perl che l'espressione (codice) è prossima. L'espressione è una semplice sostituzione regex. Il termine sta per qualsiasi carattere, e il simbolo del dollaro significa "fine linea". Quindi questa espressione regolare corrispondenza con qualsiasi carattere, alla fine della linea. La seconda parte delle espressioni regolari è stata lasciata vuota, quindi se la prima parte corrisponde, è sostituito con nulla. Ecco una più dettagliata delle espressioni regolari, in Perl sintassi, solo FYI. $ line \u003d ~ s / $ fred / Barney /; Qui, mi sostituire "Fred", alla fine della linea con "Barney". Nel breve esempio, ho voluto eliminare qualcosa, perché non vi era nulla di finale tra le due barre in avanti. Inoltre, io non uso la "variabile \u003d ~" sintassi, perché in un Perl una linea la linea di ingresso è assunta da Perl. Può anche essere espressamente previsto con il $ _. Quindi questi due sono identici: echo "1,39", | perl -pe 's /.$//' echo "1,39", | perl -pe '$ _ \u003d ~ s /.$//' Infine, la "\u003d ~" sintassi set $ _ per il risultato di esecuzione l'espressione regolare sostituzione su di esso. A breve la versione che è implicita, e Perl lo capisce. ShawnMilo |
|
||||
|
Io preferisco Python, ma non si può battere Perl una linea abbastanza complicato per fare le cose in uno script o da linea di comando.
La maggior parte di ciò che ho avuto è stato superiore a spiegare la sintassi delle espressioni regolari, che è tutta una diversa sfera di cera. Non lasciatevi impaurire regexes lontano da voi Perl. Mi raccomando il libro di Jeffrey Friedl "Mastering Regular Expressions". Credo che l'attuale è la terza edizione. Leggi le prime 80 o più pagine e vi sarà uno regex Champ. ShawnMilo |
![]() |
| Segnalibri |
| Tag |
| perl, perl regex, regex, le espressioni regolari |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|