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

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

Re: [shell-script] Re: Substituição de valores por * após um padrão


From: Rodrigo Tenorio
Subject: Re: [shell-script] Re: Substituição de valores por * após um padrão
Date: Thu, 28 Nov 2019 14:14:52 -0300

Paulo,

Maneira sua solução!
para mim funcionou somente com o uso do lazy quantifier.
sed -r ":a;s/(.*?:...*)[^*]/\1*/;ta" arquivoComEmailSenha.txt

Para quem quiser entender...
:a = Cria um label chamado "a";
s = wildcard de substituição;

/..................../.........../ = /Tudo que está aqui dentro é a pesquisa/tudo que está aqui é a substituição/
(.*?:...*)[^*]
() = cria grupo
. = qualquer caractere
* = repetição de 0 ou N vezes
*? =  repetição de 0 ou N vezes pegando o mínimo possível = lazy quantifier
: = literal
...* = dois caracteres seguido de 0 até N caracteres

\1 = ponteiro para grupo criado na pesquisa.
* = * na parte de substituição é tratado como um asterisco literal

ta = é como um "go to label 'a'."

Embolado? ^_^"

Em qui., 28 de nov. de 2019 às 13:48, Raul Libório address@hidden [shell-script] <address@hidden> escreveu:
 

Hahaha, também gostaria de uma explicação pra aquela bruxaria.

Em qui., 28 de nov. de 2019 às 13:20, Jamenson Ferreira Espindula de Almeida Melo address@hidden [shell-script] <address@hidden> escreveu:
 

Em qui., 28 de nov. de 2019 às 09:33, 'Julio C. Neves'
address@hidden [shell-script] <address@hidden>
escreveu:
>
>
>
> Aê Raul, é isso?
>
> $ var=$(sed -r 's/^(.*:..)(.*)$/\1\t\2/' arq) && paste -d "" <(cut -f1 <<< "$var") <(tr '[[:alnum:][:punct:]]' \* <<< "$(cut -f2 <<< "$var")")
> address@hidden:mi********
> address@hidden:mi**************
> address@hidden:mi****************
> address@hidden:xa**************
> address@hidden:mi****************
>
> Abraços,
> Julio
>
> » Não tem tempo para fazer um curso presencial?
> » Na sua cidade não tem nenhum bom curso de Linux?
> » Em outubro abriremos uma semana de inscrições
> » para uma nova turma. Veja mais detalhes em:
> » https://educacao.dicas-l.com.br/shell-linux
>
> Também damos treinamento em sua empresa
> em qualquer cidade, com certificado e nota fiscal.
>
>
>
>
>
>
>
> Em qui., 28 de nov. de 2019 às 00:34, Raul Libório address@hidden [shell-script] <address@hidden> escreveu:
>>
>>
>>
>> Corrigindo, o padrão que procuro é:
>>
>> email + dois pontos ( : ) + dois primeiros caracteres da senha + o
>> resto dos caracteres substituídos por asterisco.
>>
>> Ficou implicito nos exemplos, mas melhor detalhar :)
>>
>> Em qui., 28 de nov. de 2019 às 00:37, Raul Libório
>> <address@hidden> escreveu:
>> >
>> > Amigos, confesso que já exauri minhas tentativas :)
>> >
>> > Tenho um arquivo.txt com o seguinte texto: (exemplo)
>> > address@hidden:minhaSenha
>> > address@hidden:minhaSen21hadasa
>> > address@hidden:minheweqwaSenhddaa
>> > address@hidden:xadaeeminhaSenha
>> > address@hidden:minhd231231aSe1nha
>> >
>> > O que preciso?
>> > Que a saída seja:
>> > email + dois pontos ( : ) + dois primeiros caracteres da senha. Algo assim:
>> >
>> > address@hidden:mi********
>> > nhaSenha = 8 caracteres, 8 asteriscos
>> >
>> > Tentei por exemplo, sed -r 's/:(..)+/\:\1*****/g' pass.txt
>> > porém aqui eu estou definindo a quantidade de asteriscos que serão
>> > impressos. O que não é procuro.
>> >
>> > Tentei salvar os valores depois do padrão em um segundo grupo, e
>> > depois substituir os valores desse segundo grupo pelos asteriscos, mas
>> > não consegui fazer isso. =\
>> >
>> >
>> >
>> >
>> > --
>> > Raul Libório
>> > http://rauhmaru.blogspot.com/
>> > openSUSE Member | Linux User #4444581
>> >
>> > /etc/httpd/conf.d/ssl.conf:7
>> > # Do NOT simply read the instructions in here without understanding
>> > # what they do. They're here only as hints or reminders. If you are unsure
>> > # consult the online docs. You have been warned.
>>
>> --
>> Raul Libório
>> http://rauhmaru..blogspot.com/
>> openSUSE Member | Linux User #4444581
>>
>> /etc/httpd/conf.d/ssl.conf:7
>> # Do NOT simply read the instructions in here without understanding
>> # what they do. They're here only as hints or reminders. If you are unsure
>> # consult the online docs. You have been warned.
>
>

Agora, alguém, por favor, explique (para os leigos e pobres mortais,
como eu), em detalhes, cada pedaço da solução.

Muito grato.

Jamenson Ferreira Espindula de Almeida Melo
Jaboatão dos Guararapes, Pernambuco, Brasil
Usuário GNU/Linux nº 166197
https://linuxcounter.net/cert/166197.png

Impressão digital da chave:
234D 1914 4224 7C53 BD13 6855 2AE0 25C0 08A8 6180



--
Raul Libório
http://rauhmaru.blogspot.com/
openSUSE Member | Linux User #4444581

/etc/httpd/conf.d/ssl.conf:7
# Do NOT simply read the instructions in here without understanding
# what they do.  They're here only as hints or reminders.  If you are unsure
# consult the online docs. You have been warned.


reply via email to

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