+ Responder ao Tópico



  1. #1
    belvio
    Visitante

    Padrão comando echo

    Senhores, boa tarde estou com um probleminha chato gostaria da ajuda de vcs ok.


    tenho um script que le um arquivo e joga o conteudo de cada linha do arquivo numa variavel ate ai tudo bem o problema e que a linha contem varios espaços em branco, vou colocar um exemplo:

    linha do arquivo: 11111111111 00000 1111 00000000000

    agora quando eu coloco o conteudo desta linha numa variavel tipo

    a='11111111111 00000 1111 00000000000'

    e tento ecoar na tela vejam o que retorna

    echo $a
    11111111111 00000 1111 00000000000

    simplesmente suprime alguns espaços em branco

    e quando vou verificar a quantidade de caracteres que a varivel possui, com o comando echo ${#a}

    echo ${#a}
    54

    retorna a quantidade exata de caracteres inclusive os espaços em branco que não sao apresentados na saida do echo, minha duvida é como posso ecoar na tela o conteudo da variavél sem suprimir os espaços. vlw.

  2. #2
    winter_man
    Visitante

    Padrão comando echo

    Utilizando aspas " " e não aspas simples ' ' ele mostra a linha espacejada, não sei se é isso q vc quer, qualquer coisa posta ae.

    abraços

  3. #3
    belvio
    Visitante

    Padrão comando echo

    Caro winter_man já tentei isto é indiferente usando "" ou '' quando o conteudo do echo esta dentro de uma variavél ele sempre esta suprimindo os espaços em branco a mais. olhe o exemplo a seguir
    elvio@Desktop:~> a="elvio barbalho"
    elvio@Desktop:~> echo $a
    elvio barbalho
    elvio@Desktop:~> a='elvio barbalho'
    elvio@Desktop:~> echo $a
    elvio barbalho


    esta vendo a saida tem somente um espaço entre as duas palavras é exatamente ai o problema queria ecoar com todos os espaços.

  4. #4
    belvio
    Visitante

    Padrão comando echo

    caros amigos agora que percebi nos exemplos que coloquei anteriormente como linha do arquivo: 11111111111 00000 1111 00000000000
    a="elvio barbalho"

    existem mais espaços com pode ser visto no screenshot abaixo

    [img]/home/elvio/Documentos/Gimp/snapshot1.png[/img][/b][/quote]

  5. #5

    Padrão comando echo

    Olá ... Tudo bem ?

    Caro colega belvio , proteja a definição da variável assim :

    a='0000000 111111 00000 11111111111'

    Faça-a ecoar na tela assim :

    echo "$a"

  6. #6
    belvio
    Visitante

    Padrão comando echo

    Caro General tudo joia aki fora este probleminha esta.
    olha só a saida do comando ai.
    [elvio@09:07:21 elvio]$ a=`0000000 111111 00000 11111111111`
    -bash: 0000000: command not found
    [elvio@09:07:25 elvio]$

    Senhores agora que eu vi que o screenshot não ficou ai no post e acho que não estão me entendendo ainda quando eu digo que esta suprindo os espaços é assim

    a="11111_________00000000000_____111111111"

    o anderline na atribuição acima na verdade são espaços em branco quando vc echo echo $a os espaçõs em branco são suprimidos e fica somente um eu quero ecoar com todos os espaços.

  7. #7

    Padrão comando echo

    engraçado... fiz os testes conforme sugerido e reparei que realmente fica só um espaço, os demais somem...
    lembro de ter visto algo parecido no curso quanto a definição de variáveis... mas agora só olhando as apostilas.... ops:

  8. #8
    fabricio_
    Visitante

    Padrão comando echo

    qual o problema ?
    Código :
    [root@fabricio /]# a="MARIA COME       BATATA"
    [root@fabricio /]# echo $a
    MARIA COME BATATA
    [root@fabricio /]# echo "$a"
    MARIA COME       BATATA

  9. #9
    belvio
    Visitante

    Padrão comando echo

    Caro fabricio agora nenhum valeu ate mais.