Página 1 de 4 1234 ÚltimoÚltimo
+ Responder ao Tópico



  1. Olá pessoal,


    Possuo um arquivo gigante, que em cada linha possui um registro que faz referência a um usuário. Este arquivo tem que ser modificado para se adequar aos padrões do novo servidor (método para migrar os usuários de uma plataforma webmin para o cpanel).


    Bom, vejamos um exemplo (vou utilizar aqui 4 linhas apenas).


    Arquivo de configuração do servidor antigo:


    Código HTML:
    zanella:x:571:610:ZANELLA CORRETORA DE SEGUROS LTDA:/home/mensagem/zanella:/sbin/nologin
    ernesto:x:572:610:ERNESTO TARCISIO BAGGIO:/home/mensagem/ernesto:/sbin/nologin
    felipe:x:578:610:felipe zibell:/home/mensagem/felipe:/sbin/nologin
    debora:x:579:610ebora Nedel:/home/mensagem/debora:/sbin/nologin

    Arquivo modificado e pronto para ser usado no servidor novo:


    Código HTML:
    felipe:x:578:610:felipe zibell:/dominios/stche/mail/stcheturbo.com.br/felipe:/dominios/stche
    debora:x:579:610ebora Nedel:/dominios/stche/mail/stcheturbo.com.br/debora:/dominios/stche
    nedel:x:581:610:Clovis Nedel:/dominios/stche/mail/stcheturbo.com.br/nedel:/dominios/stche
    farias:x:611:610:Farias Dema:/dominios/stche/mail/stcheturbo.com.br/farias:/dominios/stche

    Bom, possuo aproximadamente 8 mil linhas neste arquivo, com várias destas entradas. Como elas possuem um padrão, creio que seja então possível criar um script para automatizar este trabalho.


    Se alguém puder me ajudar com um script útil, serei eternamente grato.

  2. Citação Postado originalmente por danielvasc Ver Post
    Olá pessoal,


    Possuo um arquivo gigante, que em cada linha possui um registro que faz referência a um usuário. Este arquivo tem que ser modificado para se adequar aos padrões do novo servidor (método para migrar os usuários de uma plataforma webmin para o cpanel).


    Bom, vejamos um exemplo (vou utilizar aqui 4 linhas apenas).


    Arquivo de configuração do servidor antigo:


    Código HTML:
    zanella:x:571:610:ZANELLA CORRETORA DE SEGUROS LTDA:/home/mensagem/zanella:/sbin/nologin
    ernesto:x:572:610:ERNESTO TARCISIO BAGGIO:/home/mensagem/ernesto:/sbin/nologin
    felipe:x:578:610:felipe zibell:/home/mensagem/felipe:/sbin/nologin
    debora:x:579:610ebora Nedel:/home/mensagem/debora:/sbin/nologin

    Arquivo modificado e pronto para ser usado no servidor novo:


    Código HTML:
    felipe:x:578:610:felipe zibell:/dominios/stche/mail/stcheturbo.com.br/felipe:/dominios/stche
    debora:x:579:610ebora Nedel:/dominios/stche/mail/stcheturbo.com.br/debora:/dominios/stche
    nedel:x:581:610:Clovis Nedel:/dominios/stche/mail/stcheturbo.com.br/nedel:/dominios/stche
    farias:x:611:610:Farias Dema:/dominios/stche/mail/stcheturbo.com.br/farias:/dominios/stche

    Bom, possuo aproximadamente 8 mil linhas neste arquivo, com várias destas entradas. Como elas possuem um padrão, creio que seja então possível criar um script para automatizar este trabalho.


    Se alguém puder me ajudar com um script útil, serei eternamente grato.
    Daniel,

    Seu arquivo de origem está deformado. Veja que em "610ebora", estão faltando caracteres. Talvez tenham sido tratados como emoticon pelo editor WYSIWYG do Under-Linux, comportamento que acontece quando o usuário não marca a opção "Desativar smilies do texto".

    Supondo que seu arquivo de origem esteja íntegro, o script que você precisa está demonstrado abaixo, considerando o exemplo informado por você, considerando que "ul-origem.txt" é sua origem e "ul-destino.txt" é seu arquivo de destino.

    Faça um teste e veja se está de acordo o script. Com base na fonte e modelo de saída fornecido por você, está OK

    Código :
    awk '{split($0, z, ":"); print z[1]":"z[2]":"z[3]":"z[4]":"z[5]":/dominios/stche/mail/stcheturbo.com.br/"z[1]":/dominios/stche"}' ul-origem.txt > ul-destino.txt



  3. Perfeito, funcionou do jeito esperado!
    Respondendo a sua dúvida, sim, foram os emoticons do fórum que ocasionaram aquelas falhas no texto que eu havia inserido.

    Bom, meu problema não terminou por aqui. Veja se pode me ajudar mais um pouquinho.

    Além deste arquivo "passwd", tenho o arquivo "shadow". Dentro deste arquivo não há nada a ser substuído, mas eu preciso fazer o seguinte:

    - Checar se o usuário contido no passwd está contido no shadow. Pois preciso deixar o shadow com os mesmos usuários contidos no "passwd".

    Seria basicamente assim (vou esboçar a ideia):

    No arquivo passwd, lê a primeira palavra da primeira linha (no caso, o nome de usuário). Seguindo o meu exemplo, seria o usuário "zanella". Depois, faz uma comparação: Se este usuário estiver no arquivo shadow, jogar essa linha do shadow em um novo arquivo. Dessa maneira, os dois arquivos iam conter o mesmo número de linhas, com os mesmos usuários.

  4. Citação Postado originalmente por danielvasc Ver Post
    Perfeito, funcionou do jeito esperado!
    Que boa notícia

    Citação Postado originalmente por danielvasc Ver Post
    Respondendo a sua dúvida, sim, foram os emoticons do fórum que ocasionaram aquelas falhas no texto que eu havia inserido.
    Ok

    Citação Postado originalmente por danielvasc Ver Post
    Bom, meu problema não terminou por aqui. Veja se pode me ajudar mais um pouquinho.

    Além deste arquivo "passwd", tenho o arquivo "shadow". Dentro deste arquivo não há nada a ser substuído, mas eu preciso fazer o seguinte:

    - Checar se o usuário contido no passwd está contido no shadow. Pois preciso deixar o shadow com os mesmos usuários contidos no "passwd".

    Seria basicamente assim (vou esboçar a ideia):

    No arquivo passwd, lê a primeira palavra da primeira linha (no caso, o nome de usuário). Seguindo o meu exemplo, seria o usuário "zanella". Depois, faz uma comparação: Se este usuário estiver no arquivo shadow, jogar essa linha do shadow em um novo arquivo. Dessa maneira, os dois arquivos iam conter o mesmo número de linhas, com os mesmos usuários.
    Daniel, veja se os comandos pwck e grpck não resolvem seu problema



  5. Não resolve. Preciso fazer aquela jogada lá que te disse antes :(






Tópicos Similares

  1. envio de email atraves de um shell script
    Por noir no fórum Servidores de Rede
    Respostas: 3
    Último Post: 23-08-2010, 21:42
  2. Automatizacao de comandos em shell script
    Por mistymst no fórum Servidores de Rede
    Respostas: 1
    Último Post: 16-09-2003, 10:00
  3. Dúvidas de Shell script
    Por intruder no fórum Servidores de Rede
    Respostas: 2
    Último Post: 26-06-2003, 11:27
  4. Shell Script / Calculo de tempo
    Por no fórum Linguagens de Programação
    Respostas: 1
    Último Post: 14-04-2003, 08:15
  5. input de dados no sql server via shell script
    Por cantisan no fórum Linguagens de Programação
    Respostas: 1
    Último Post: 17-02-2003, 16:43

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L