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 <mailto:address@hidden>
[shell-script] <address@hidden <mailto: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
<mailto:address@hidden> [shell-script] <address@hidden
<mailto:address@hidden>> escreveu:
__
Em qui., 28 de nov. de 2019 às 09:33, 'Julio C. Neves'
address@hidden <mailto:address@hidden> [shell-script] <address@hidden
<mailto: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
<mailto:address@hidden>
[shell-script] <address@hidden <mailto: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 <mailto: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/ <http://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.
--------------------------------------------------------------------------------------------------------------
Enviado por: Rodrigo Tenorio <address@hidden>
--------------------------------------------------------------------------------------------------------------