![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| UNIX para Dummies Perguntas & Respostas Se não tiver certeza de onde se pode postar uma pergunta Unix ou Linux, postá-lo aqui. Todos os UNIX e Linux novatos bem vindos! |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| Para remover linha nova personagem | shihabvk | UNIX & avançada para usuários experientes | 7 | 06-18-2009 08:44 |
| bash enquanto lida como remover \ n caracteres | papasj | Programação Shell Script e | 3 | 05-25-2009 10:24 |
| Remover último caractere de um prazo | Raynon | Programação Shell Script e | 6 | 03-20-2008 06:04 |
| Tentar remover único personagem a partir de uma linha | Iz3k34l | UNIX para Dummies Perguntas & Respostas | 5 | 07-07-2007 02:29 |
| Remover Última Caracteres da Linha | danhodges99 | Programação Shell Script e | 4 | 05-21-2003 10:30 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Oi,
Estou a tentar capturar o servidor de e-mail me carregar automaticamente. Esta é a forma como ela vai svrload \u003d `uptime | awk '(print $ 11)'` Agora, este devolve um valor dizer "1,39". Como é que tira a "," a partir do valor devolvido e convertê-lo em um número inteiro de comparar com um limite? Obrigado Murali |
|
||||
|
You're welcome. Há muitas maneiras de fazer isso.
Eis a explicação: echo "1,39", | perl -pe 's /.$//' perl -ep Isto exige perl. O "p" causas Perl a atravessar a entrada para a saída, se é ou não modificado ao longo do caminho. O "E" indica a Perl que a expressão (código) vem a seguir. A expressão é uma simples substituição regex. O período corresponde a qualquer carácter, eo cifrão significa "fim de linha". Portanto, esta expressão corresponde a qualquer carácter regular, no final da linha. A segunda parte da expressão regular foi deixado vazio, por isso, se a primeira parte correspondências, é substituído por nada. Aqui está mais uma expressão regular verbosos, em Perl sintaxe, apenas FYI. $ linha \u003d ~ s / $ Fred / Barney /; Aqui, vou substituir "fred" no final da linha com "Barney". No curto exemplo, eu queria eliminar algo, então não havia nada entre os dois últimos transmitir-barras. Além disso, eu não uso a "variável \u003d ~" sintaxe, porque, em um Perl um-liner na linha de entrada é assumida por Perl. Pode também ser explicitamente referida com o $ _. Portanto, estes dois são idênticos: echo "1,39", | perl -pe 's /.$//' echo "1,39", | perl -pe '$ _ \u003d ~ s /.$//' Finalmente, o "\u003d ~" $ _ sintaxe conjuntos para o resultado do funcionamento da expressão regular substituição sobre ela. Na versão mais curta que está implícito, e Perl compreende-la. ShawnMilo |
|
||||
|
Eu prefiro Python, mas você não pode vencer Perl um liners bastante complicada para se fazer as coisas em um script ou na linha de comando.
A maior parte do que eu tinha de explicar acima foi expressão regular sintaxe, que é toda uma outra bola de cera. Não deixe regexes assustar longe de você Perl. Eu recomendo altamente Jeffrey Friedl do livro "Mastering Regular Expressions". Acho que a edição atual é a terceira. Leia os primeiros 80 ou mais páginas, e você será uma regex campeão. ShawnMilo |
![]() |
| Marcadores |
| Tags |
| perl, perl regex, regex, expressões regulares |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|