+ Responder ao Tópico



  1. #1

    Padrão Pegar dados e deixar minusculo e sem espacos

    Pessoal,

    Estou me batendo a dias tentando achar uma solução que eu possa pegar uma lista simples em um arquivo texto:

    Código :
    Deise
    nataniel klug
    Jamaira
    joao Cleber

    E fazer com que essa mesma lista fique com todas as letras minusculas e sem os espaços, assim:

    Código :
    deise
    natanielklug
    jamaira
    joaocleber

    Se alguém souber como faço essa proesa, por favor me auxilie (em shell script, não em perl ou C).

    Obrigado.

  2. #2

    Padrão

    Achei na net. Faça as adaptações necessárias.
    A linha seguinte substitui espaco por "_" (underline).

    Código :
    for i in `ls | sed 's/ /_/g'`; do ARQ=`echo $i | sed 's:_: :g'`; mv "$ARQ" $i; done
    depois de retirar os espaços a linha de comando abaixo converte tudo pra
    minusculo.

    Código :
    for i in *; do mv -i $i $(echo $i | tr "[upper]" "[lower]"); done
    Espero ter ajudado.
    Abraço

  3. #3

    Padrão

    Caro Samuel,

    Muito obrigado. Vou testar esse modelo de configuração e posto o resultado aqui.

  4. #4

    Thumbs up

    Citação Postado originalmente por samuelstj Ver Post
    Achei na net. Faça as adaptações necessárias.
    A linha seguinte substitui espaco por "_" (underline).

    Código :
    for i in `ls | sed 's/ /_/g'`; do ARQ=`echo $i | sed 's:_: :g'`; mv "$ARQ" $i; done
    depois de retirar os espaços a linha de comando abaixo converte tudo pra
    minusculo.

    Código :
    for i in *; do mv -i $i $(echo $i | tr "[upper]" "[lower]"); done
    Espero ter ajudado.
    Abraço
    Caro amigo Samuel,

    Conforme falei, testei e funcionou perfeitamente (com alguns poucos ajustes e uma boa leitura do manual do SED e, logo em seguida do TR que nada mais é do que uma extensão do SED). Abaixo o script como testei:

    Código :
    #!/bin/bash
     
    for i in `cat /root/lista | sed 's/ //g'`;
    do
            echo $i | tr "[:upper:]" "[:lower:]" >> /root/lista_nova
    don

    No arquivo lista tenho os seguintes dados:

    Código :
    Deise
    naTaniel kLUG
    joaomaRIa

    E no arquivo lista_nova ficou assim:

    Código :
    deise
    natanielklug
    joaomaria

    Então, resumindo, funcionou perfeitamente bem. Agradeço novamente a atenção dispensada.

  5. #5

    Thumbs up

    Citação Postado originalmente por nataniel Ver Post
    Caro amigo Samuel,

    Conforme falei, testei e funcionou perfeitamente (com alguns poucos ajustes e uma boa leitura do manual do SED e, logo em seguida do TR que nada mais é do que uma extensão do SED). Abaixo o script como testei:

    Código :
    #!/bin/bash
     
    for i in `cat /root/lista | sed 's/ //g'`;
    do
            echo $i | tr "[:upper:]" "[:lower:]" >> /root/lista_nova
    don
    No arquivo lista tenho os seguintes dados:

    Código :
    Deise
    naTaniel kLUG
    joaomaRIa
    E no arquivo lista_nova ficou assim:

    Código :
    deise
    natanielklug
    joaomaria
    Então, resumindo, funcionou perfeitamente bem. Agradeço novamente a atenção dispensada.

    Eu quem te parabenizo, pois se todos fizessem como vc, postando a solução final das perguntas... hehehe ia facilitar pra todos pesquisarem depois.

    Grande abraço