shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script-pt] Ajuda em concatenação de variáveis


From: Moacir Souza
Subject: Re: [shell-script-pt] Ajuda em concatenação de variáveis
Date: Fri, 14 Aug 2020 10:06:05 -0300

Estou enferrujado mesmo...

Fui tomar uma água antes de escrever a resposta e BAM, Mestre Julião já havia escrito tudo o que eu escrevi (E com ainda mais detalhes) :D. Essa lista realmente é um partrimônio nacional :)

Um abraço,
Moka

On Fri, Aug 14, 2020 at 10:03 AM Moacir Souza <moacir.souza@gmail.com> wrote:
Dito, bom dia,

Os caracteres "$" são os marcadores de final de linha (Camados Linefeeds ou o mais moderno New Line) que os Sistemas baseados em *ix usam. Se eles forem eliminados, você perde a formatação padrão de "nova linha", ou seja, vai virar tudo uma "tripona". Veja:

moacir@beeblebrox:/home/moacir$ cat > arquivo
primeira linha
segunda linha
moacir@beeblebrox:/home/moacir$ cat -vet arquivo
primeira linha$
segunda linha$
moacir@beeblebrox:/home/moacir$ tr -d '\n' < arquivo > segundoArquivo
moacir@beeblebrox:/home/moacir$ cat -vet segundoArquivo
primeira linhasegunda linhamoacir@beeblebrox:/home/moacir$

Viu que até o prompt "subiu" depois da remoção dos "$"? Em resumo, possivelmente você realmente não precisa dos ^M (Que, aliás, são chamados Carriage Return), mas tenho a impressão que você vai querer continuar com os "$" ;)

Abraço,
Moka

P.S.: Outra maneira de arrancar esses ^M, normalmente derivados de outros Sistemas Operacionais como Windows e até os zOS dos Mainframes, você pode usar aquele tr que eu escrevi, mas com o parâmetro '\r' ao invés do '\n'. Só não esqueça dos redirecionamentos.

On Sat, Aug 8, 2020 at 10:37 AM Dito Ramos <diramos@uol.com.br> wrote:
Mestre Julio,
Muito boa as "matadas de cat e echo.
Funcionou certinho o script.
Porém, o meu problema central persiste.
Seguindo a dica do Paulo, no outro email sobre o assunto, dei um "cat -vet" no arquivo original, e veifiquei que o maledeto tem caracteres especiais em todo final de linha. Assim:
########################
^M$
^M$
^M$
^M$
^M$
^M$
^M$
^M$
^M$
...
########################
Esses dados eu peguei com o comando curl de um site da internet.
Então peço nova ajuda: como eliminar esses "^M$" do final de cada linha.
O "^M" eu consegui eliminar dando um sed -e "s/\r//g" no arquivo.
Mas sobrou o "$" que não consigo eliminar.
Alguma dica?
Obrigado mais uma vez.

Dito Ramos


──────────────────────────────────────────────────────────────────

De: "Julio C. Neves"
Enviada: 2020/08/07 19:10:28
Para: shell-script-pt@nongnu.org
Assunto: Re: [shell-script-pt] Ajuda em concatenação de variáveis


Já vou avisando: vou fazer um echocídio e um catcídio. cat é o cmd mais desnecessário que existe. cat vem de concatenate, isto é, só serve para concatenar arquivos. Pode ter certeza que sempre que vc usar um cat, tem outra forma mais eficiente de fazer o mesmo.


Experimente assim:
#!/bin/bash
a=1
b=2
c=3
echo "variável a: $a
variável b: $b
variável c: $c


Concatenando variáveis a,b,c: $a,$b,$c
====="
# Matei 234123 echos ;)
read Notificados Negativos Positivos

Executando vem:
variável a: 1
variável b: 2
variável c: 3
Concatenando variáveis a,b,c: 1,2,3
=====
variável Notificados: 1225
variável Negativos: 964
variável Positivos: 251
Concatenando variáveis Notificados,Negativos,Positivos: 1225,964,251

As matrículas para a minha 10ª turma de shell vão de 11 a 17/08. É uma grande chance de aprender definitivamente essa excelente linguagem.  https://educacao.dicas-l.com.br/shell-linux
Abraços,

Julio


» Não tem tempo para fazer um curso presencial?
» Na sua cidade não tem nenhum bom curso de Linux?
Somente nesta semana de 11-17/08, as inscrições estarão
abertas para uma nova turma. Veja mais detalhes em:
        https://educacao.dicas-l.com.br/shell-linux



Também damos treinamento em sua empresa

em qualquer cidade, com certificado e nota fiscal.











> >






































































































Em sex., 7 de ago. de 2020 às 18:07, Dito Ramos diramos@uol.com.br> escreveu:

> Olá, Mestres.
Estou quebrando a cabeça com um problema aqui:
MEU ARQUIVO final.txt:

1225
964
251
206
9
318
45%
06/08/2020, às 16:45

MEU SCRIT lista.sh

#!/bin/bash
a=1
b=2
c=3
echo variável a: $a
echo variável b: $b
echo variável c: $c
echo Concatenando "variáveis a,b,c": $a,$b,$c
echo "====="
Notificados=$(cat final.txt |sed -n '1p');
Negativos=$(cat final.txt |sed -n '2p')
Positivos=$(cat final.txt |sed -n '3p')
echo variável Notificados: $Notificados
echo variável Negativos: $Negativos
echo variável Positivos: $Positivos
echo Concatenando "variáveis Notificados,Negativos,Positivos": $Notificados,$Negativos,$Positivos

MEU RESULTADO de ./lista.sh

variável a: 1
variável b: 2
variável c: 3
Concatenando variáveis a,b,c: 1,2,3
=====
variável Notificados: 1225
variável Negativos: 964
variável Positivos: 251
,251atenando variáveis Notificados,Negativos,Positivos: 1225

Notem que a última linha do resultado não retorna o que eu quero.

Então, parafraseando a Paulinha Toller: "Onde foi que eu errei?"

Grato desde já.

Dito Ramos

_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org
Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.
_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org
Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta._______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org
Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.


--
==========================================
Moacir da Cruz Souza Filho

Analista de Sistemas: Site Reliability Engineer
Analista de Sistemas: Suporte Unix Avançado
Bacharel em Engenharia da Computação
Técnico em Eletrônica
Linux user #449600
==========================================


--
==========================================
Moacir da Cruz Souza Filho

Analista de Sistemas: Site Reliability Engineer
Analista de Sistemas: Suporte Unix Avançado
Bacharel em Engenharia da Computação
Técnico em Eletrônica
Linux user #449600
==========================================

reply via email to

[Prev in Thread] Current Thread [Next in Thread]