On Wednesday 25 January 2006 11:28, Celso Viana wrote:
> Já tenho o arquivo com mais de 300 usuários e gostaria apenas de
> preencher o campo de senha; terei que usar o sed? no arquivo real, com
> delimitador ";" o campo de senha é o 4º campo.
Ok, vê se é algo do tipo que precisa:
$ ./senhas
$ cat lista.orig | head -5
sujeito001;campo_2;campo_3;senha;campo_5;campo_6;campo_n
sujeito002;campo_2;campo_3;senha;campo_5;campo_6;campo_n
sujeito003;campo_2;campo_3;senha;campo_5;campo_6;campo_n
sujeito004;campo_2;campo_3;senha;campo_5;campo_6;campo_n
sujeito005;campo_2;campo_3;senha;campo_5;campo_6;campo_n
$ cat lista.new | head -5
sujeito001;campo_2;campo_3;emdltk;campo_5;campo_6;campo_n
sujeito002;campo_2;campo_3;hpfoem;campo_5;campo_6;campo_n
sujeito003;campo_2;campo_3;kaiyhx;campo_5;campo_6;campo_n
sujeito004;campo_2;campo_3;udtbra;campo_5;campo_6;campo_n
sujeito005;campo_2;campo_3;xnwmud;campo_5;campo_6;campo_n
$ cat senhas
#!/bin/sh
# Ignore este laço, só o utilizei p/ gerar o arquivo
# com os dados (simular o formato que você descreveu).
for i in `seq 300`; do
printf 'sujeito%03d;campo_2;campo_3;senha;campo_5;campo_6;campo_n\n' $i
done >> lista.orig
ALFA=abcdefghijklmnopqrstuvwxyz
# Quantas senhas
QUANTIDADE=8
# Comprimento das senhas
COMPRIMENTO=6
for j in `cat lista.orig`; do
for i in `seq $COMPRIMENTO`; do
SENHA=$SENHA${ALFA:`expr $RANDOM % 26`:1};
done
echo $j | sed -r 's/^([^;]+;[^;]+;[^;]+);[^;.]+;(.*$)/\1;'$SENHA';\2/' >>
lista.new
SENHA=
done
Até,
Herbert.
PS1 - só adaptei o script que já tinha feito.
PS2 - creio que dê para enxugar essa ER, no caso ela pega os três primeiros
campos (delimitadors por ';') e depois do quinto em diante, inserindo a senha
no quarto campo.
PS3 - sobre $RANDOM: http://www.tldp.org/LDP/abs/html/randomvar.html
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil
Links do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html