Usando experisão regular no comando “rpl”

2

Eu preciso substituir o texto em muitos arquivos. Estou usando rpl para essa finalidade, mas não consigo encontrar nenhuma maneira de usar expressões regulares. Pode rpl usar "regex"? como?

Editar:
Estou usando rpl 1.5.2 dos repositórios Ubuntu 13.04 .

    
por RYN 18.02.2014 / 09:33

2 respostas

2

Olhando para a página de referência para o original rpl , parece ser capaz de suportar o regex muito bem.

Exemplo

See the following for examples of replacing character strings.

Note: If you are using a locale other than En_US, the following examples may not include all alphabetic characters.

  1. To replace a legal FORTRAN identifier (an alphabetic character followed by as many as five alphanumeric characters) with xxx, enter:

    $ rpl '[A-Za-z][A-Za-z0-9]{0,5}' xxx
    
  2. To replace all occurrences of the character string sky with blue sky in the skyfile file and put the result in the bluefile file, enter:

    $ rpl sky "blue sky" <skyfile >bluefile
    

No entanto, ao testar a versão do Linux de rpl , não parece que a regex foi implementada nesta versão. Nenhum dos meus testes foi capaz de fazer uso de qualquer recurso de regex.

    
por 18.02.2014 / 09:44
0

A versão 1.5.5 no Linux não suporta a substituição de expressões regulares.

Uma alternativa usando o SED é explicada no link

    
por 02.09.2015 / 12:17