[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Substituir campo de arquivo por outro campo de outro
From: |
SuSE List |
Subject: |
Re: [shell-script] Substituir campo de arquivo por outro campo de outro arquivo |
Date: |
Tue, 04 Jan 2005 09:40:41 -0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.2) Gecko/20040803 |
Bom dia Gentil,
Feliz Ano Novo!!!
Sua dica foi precisa!!!! Exatamente o que eu queria....eu acrescentei ao
seu comando um awk para filtrar somente os usuarios validos (UID > 500),
no meu caso, desprezando os usuários do sistema (root, sys, etc) e um
grep para desconsiderar o "nobody - UID 65534", ficando assim:
msptst2:/home/vinicius # paste -d ':' <(sort /etc/passwd | cut -d ':' -f1) \
<(sort /etc/shadow | cut -d ':' -f2) <(sort /etc/passwd | cut -d ':' \
-f3,4,5,6,7,8,) | awk -F: '$3 > 499 { print $0 }' | grep -v nobody >
/tmp/passwd.new
Show de bola, tenho de agradecer a todos da lista, pois com ela estou
começando a amar o shell, muito bom mesmo, não sei se estou com o melhor
shell, pois uso o bash (acho ele muito bom), andei estudando o Korn
shell e mexendo um pouco com FreeBSD descobri que o shell padrao é o
csh, instalei o bash pois achei o csh "meio seco"...bom mais é isso
pessoal, obrigado a todos....
[]s
Vinicius
Gentil de Bortoli Júnior wrote:
Olá, Vinicius. Eu fiz aqui algo aproveitando a idéia que o Julio nos
mostrou recentemente.
Veja se você compreende.
[root@gentil:~]# paste -d ':' <(sort /etc/passwd | cut -d ':' -f1)
<(sort /etc/shadow | cut -d ':' -f2) <(sort /etc/passwd | cut -d ':'
-f3,4,5,6,7,8,) > /tmp/passwd.new
O comando foi quebrado mas ele deve ser digitado em uma linha.
[]s
Gentil.
SuSE List wrote:
No linux temos o passwd, que possui seu campo senha com o caracter "x",
por exemplo, e este mesmo arquivo esta ordenado por UIDs dos
usuários....o segundo arquivo, shadow, possui o campo senha
criptografado...porém não tem uma ordenação....é possivel substituir
"corretamente" o campo senha, "x" pela senha criptografada do shadow do
usuário correspondente e jogar isso em um terceiro aquivo (um
passwd.new)?