Comando Bash para substituição de expressão regular

5

Qual comando bash pode ser usado para a substituição de regex em um pipe?

     cat foo.txt | someprogram
    
por Alex 15.06.2009 / 11:39

3 respostas

11

Você provavelmente quer

sed 's/exp1/exp2/g' foo.txt > foo2.txt

Leia mais em Tutorial de Sed , Outro tutorial e Um pequeno tutorial em Linux HOWTOs

    
por 15.06.2009 / 11:43
4

Você também pode usar perl one liners se achar que deseja mais recursos de expressão regular do que o sed oferece. Veja este link para uma comparação. O exemplo de Nik seria parecido com:

perl -ple 's/exp1/exp2/g' foo > foo2.txt
    
por 15.06.2009 / 13:40
1

O programa que você está procurando é sed.

    
por 15.06.2009 / 11:40