On Fri, 12 Jul 2002, Jozeph Brasil wrote:
> Com sort -n -t : -k 3 /etc/passwd > passwd.new eu consigo organizar o
> meu passwd de acordo com o ID... mas, como fa�o para organizar o
> /etc/shadow de acordo com o /etc/passwd ? Isto �... corresponder
> primeira linha root no passwd com primeira linha root no shadow...
Provavelmente o seguinte script fara' o que voce quer.
Versao condensada:
#!/usr/bin/perl
open P, "/etc/passwd"; while (<P>) { push @_, /^([^:]*)/; }
open S, "/etc/shadow"; while (<S>) { ($n) = /^([^:]*)/; $s{$n} = $_; }
print @s{@_};
Versao longa e comentada:
#!/usr/bin/perl
open P, "/etc/passwd";
while (<P>) { # le /etc/passwd
push @_, /^([^:]*)/; # coloca cada login name na lista
}
close P;
open S, "/etc/shadow";
while (<S>) { # le /etc/shadow
($n) = /^([^:]*)/; # extrai o login name
$s{$n} = $_; # usa o login name para hash de linhas
}
close S;
print @s{@_}; # ordena de acordo com o /etc/passwd
Assinantes em 13/07/2002: 2229
Mensagens recebidas desde 07/01/1999: 174842
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
mailto:[EMAIL PROTECTED]