shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SED - replace de certas palavras em um arquivo


From: itamarnet
Subject: Re: SED - replace de certas palavras em um arquivo
Date: 17 Sep 2015 06:13:20 -0700

Caro Herbert para começar vou deixar 3 links do site do camarada Aurelio que são bem didáticos para esse assunto. Ele é o cara para expressões regulares.

Sobre o ponto:
http://aurelio.net/regex/guia/ponto.html#2_1_1

Sobre a Lista negada
http://aurelio.net/regex/guia/lista-negada.html#2_1_3

Sobre Retrovisor
http://aurelio.net/regex/guia/retrovisor.html#2_4_4


Nessa regex:
\(uid=\(.\)[^,]*\)

O que temos aqui é que o ponto é uma metacaractere que representa qualquer caractere que possa ocupar essa posição. Se quiser o ponto literal ele deve ser escapado  dessa forma "\.".
E após o único caractere qualquer representado pelo ponto há uma lista negada - "[^,]" - que no caso quer dizer qualquer coisa, exceto a vírgula, que em conjunto com o asteriscos, quer dizer que é uma sequências de caracteres em quantidade indefinida, mas que não existe qualquer vírgula

No caso da regex por completo
"\(uid=\(.\)[^,]*\),cn=[^,]*,/\1,cn=\2,"
vem uma vírgula literal com a composição do próximo campo que usa o retrovisor "\2", justamente para referenciar o grupo onde está o ponto, e nesse caso é o caractere que ocupa aquela posição.

Não sei se fui claro suficiente. Mas não tenho a mesma didática do amigo Aurelio, que referencio nos links do começo.

[]'s
Itamar


reply via email to

[Prev in Thread] Current Thread [Next in Thread]