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]

Responder a