Ajudando um novato em SH

1. Ajudando um novato em SH

Leandro Lenon Munari Santin
Triggerms

(usa Ubuntu)

Enviado em 29/06/2017 - 15:37h

Olá pessoal !!

Essa é minha primeira vez postando, mas já uso o viva linux a bastante tempo para tirar minhas duvidas.
Desta vez procurei bastante algo que pudesse me ajudar mas não encontrei, por isso decidi escrever um tópico

É o seguinte: Preciso criar um Shell Script que leia um arquivo .txt e pegue algumas variáveis e cole essas variáveis em um lugar especifico de um outro texto, ou crie um novo texto com essas variáveis no lugar ( o que for mais fácil)
A tarefa que quero automatizar é a de ler vários arquivos de texto com o mesma configuração (mudando apenas as variáveis) e escrever em um relatório que etá também sempre o mesma configuração.

seria mais ou menos assim:

Arquivo que vai ser lido:

Marca do carro :__X__
Modelo do carro: __Y__
Cor do carro:__Z__
-------------------------------------------------

Arquivo que vai ser escrito:

O carro marca __X__ do modelo __Y__ e da cor __Z__ foi esta com documentação atrasada e deve ser...

Se fosse possível queria que o SH mandasse os dados para uma mala direta do Libre office e já preencheria corretamente.

Sei que para os ninjas do SH que frequentam o viva Linux esse meu pedido pode parecer ridículo, mas já estou a alguns dias lendo como fazer isso e ainda não cheguei a conclusão de como começar.

Desde já agradeço a ajuda.



  


2. Re: Ajudando um novato em SH

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 29/06/2017 - 18:05h

Triggerms escreveu:
Arquivo que vai ser lido:

Marca do carro :__X__
Modelo do carro: __Y__
Cor do carro:__Z__
-------------------------------------------------

Arquivo que vai ser escrito:

O carro marca __X__ do modelo __Y__ e da cor __Z__ foi esta com documentação atrasada e deve ser...


Arquivo.txt
Marca:VW
Modelo:Gol
Cor:Preto


Script.sh
#/bin/bash
marca=`grep Marca arquivo.txt | cut -d':' -f2`
modelo=`grep Modelo arquivo.txt | cut -d':' -f2`
cor=`grep Cor arquivo.txt | cut -d':' -f2`
echo "O carro marca $marca do modelo $modelo e da cor $cor foi esta com documentação atrasada e deve ser..." > arquivo_final.txt


Aí vc adapta às suas necessidades !!!





------------------------------------------| Linux User #621728 |-----------------------------------------
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"
------------------------------------------| Linux User #621728 |-----------------------------------------



3. Re: Ajudando um novato em SH

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 29/06/2017 - 19:23h

Triggerms escreveu:

Olá pessoal !!

Essa é minha primeira vez postando, mas já uso o viva linux a bastante tempo para tirar minhas duvidas.
Desta vez procurei bastante algo que pudesse me ajudar mas não encontrei, por isso decidi escrever um tópico

É o seguinte: Preciso criar um Shell Script que leia um arquivo .txt e pegue algumas variáveis e cole essas variáveis em um lugar especifico de um outro texto, ou crie um novo texto com essas variáveis no lugar ( o que for mais fácil)
A tarefa que quero automatizar é a de ler vários arquivos de texto com o mesma configuração (mudando apenas as variáveis) e escrever em um relatório que etá também sempre o mesma configuração.

seria mais ou menos assim:

Arquivo que vai ser lido:

Marca do carro :__X__
Modelo do carro: __Y__
Cor do carro:__Z__
-------------------------------------------------

Arquivo que vai ser escrito:

O carro marca __X__ do modelo __Y__ e da cor __Z__ foi esta com documentação atrasada e deve ser...

Se fosse possível queria que o SH mandasse os dados para uma mala direta do Libre office e já preencheria corretamente.

Sei que para os ninjas do SH que frequentam o viva Linux esse meu pedido pode parecer ridículo, mas já estou a alguns dias lendo como fazer isso e ainda não cheguei a conclusão de como começar.

Desde já agradeço a ajuda.


Boa noite.
O "arquivo que será lido" tem somente 03 linhas?
Caso positivo, faça o arquivo com a seguinte formatação:
Marca="MARCAdoCARRO"
Modelo="MODELOdoCARRO"
Cor="CORdoCARRO"

Depois é só dar o comando:
eval $(cat CARRO.txt)
Pronto, tem as variáveis Marca, Modelo e cor.

att.
Marcelo Oliver



4. Re: Ajudando um novato em SH

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/06/2017 - 19:59h

Se for para fazer mala direta de LibreOffice, então é mais fácil você aprender a processar linguagem de macros. Você deveria fazer o LibreOffice ler estes arquivos e dar um tratamento de banco de dados a eles. Pode ser feito planilha também. O editor de textos deve construir a mala direta através deste cruzamento de dados. Já pensou nisto?


5. Re: Ajudando um novato em SH

Leandro Lenon Munari Santin
Triggerms

(usa Ubuntu)

Enviado em 30/06/2017 - 12:04h

Mauriciodez escreveu:

Triggerms escreveu:
Arquivo que vai ser lido:

Marca do carro :__X__
Modelo do carro: __Y__
Cor do carro:__Z__
-------------------------------------------------

Arquivo que vai ser escrito:

O carro marca __X__ do modelo __Y__ e da cor __Z__ foi esta com documentação atrasada e deve ser...


Arquivo.txt
Marca:VW
Modelo:Gol
Cor:Preto


Script.sh
#/bin/bash
marca=`grep Marca arquivo.txt | cut -d':' -f2`
modelo=`grep Modelo arquivo.txt | cut -d':' -f2`
cor=`grep Cor arquivo.txt | cut -d':' -f2`
echo "O carro marca $marca do modelo $modelo e da cor $cor foi esta com documentação atrasada e deve ser..." > arquivo_final.txt


Aí vc adapta às suas necessidades !!!





------------------------------------------| Linux User #621728 |-----------------------------------------
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"
------------------------------------------| Linux User #621728 |-----------------------------------------


Acho que entendi o que vc passou, só uma duvida. E se a variável que o Sh for pegar para colar no arquivo final foi uma frase e não uma palavra, como deve ficar ...


6. São Varios

Leandro Lenon Munari Santin
Triggerms

(usa Ubuntu)

Enviado em 30/06/2017 - 12:08h

msoliver escreveu:

Triggerms escreveu:

Olá pessoal !!

Essa é minha primeira vez postando, mas já uso o viva linux a bastante tempo para tirar minhas duvidas.
Desta vez procurei bastante algo que pudesse me ajudar mas não encontrei, por isso decidi escrever um tópico

É o seguinte: Preciso criar um Shell Script que leia um arquivo .txt e pegue algumas variáveis e cole essas variáveis em um lugar especifico de um outro texto, ou crie um novo texto com essas variáveis no lugar ( o que for mais fácil)
A tarefa que quero automatizar é a de ler vários arquivos de texto com o mesma configuração (mudando apenas as variáveis) e escrever em um relatório que etá também sempre o mesma configuração.

seria mais ou menos assim:

Arquivo que vai ser lido:

Marca do carro :__X__
Modelo do carro: __Y__
Cor do carro:__Z__
-------------------------------------------------

Arquivo que vai ser escrito:

O carro marca __X__ do modelo __Y__ e da cor __Z__ foi esta com documentação atrasada e deve ser...

Se fosse possível queria que o SH mandasse os dados para uma mala direta do Libre office e já preencheria corretamente.

Sei que para os ninjas do SH que frequentam o viva Linux esse meu pedido pode parecer ridículo, mas já estou a alguns dias lendo como fazer isso e ainda não cheguei a conclusão de como começar.

Desde já agradeço a ajuda.


Boa noite.
O "arquivo que será lido" tem somente 03 linhas?
Caso positivo, faça o arquivo com a seguinte formatação:
Marca="MARCAdoCARRO"
Modelo="MODELOdoCARRO"
Cor="CORdoCARRO"

Depois é só dar o comando:
eval $(cat CARRO.txt)
Pronto, tem as variáveis Marca, Modelo e cor.

att.
Marcelo Oliver


Boa noite Marcelo e obrigado pela atenção:
Na verdade funciona assim, eu recebo um arquivo txt com vários valores ( mais de 3) que devem ser transferido para uma tabela do calc. Será que tem uma maneira de eu pegar as variáveis que vou arrecadar e fazer uma macro do libre office colocar elas na tabela...?


7. Re: Ajudando um novato em SH

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/06/2017 - 12:10h

Se é pra tabela do Calc, provavelmente você deverá indicar o separador na importação.
Ou converter tudo para CSV, por exemplo.


8. Re: Ajudando um novato em SH

Leandro Lenon Munari Santin
Triggerms

(usa Ubuntu)

Enviado em 30/06/2017 - 12:14h

listeiro_037 escreveu:

Se for para fazer mala direta de LibreOffice, então é mais fácil você aprender a processar linguagem de macros. Você deveria fazer o LibreOffice ler estes arquivos e dar um tratamento de banco de dados a eles. Pode ser feito planilha também. O editor de textos deve construir a mala direta através deste cruzamento de dados. Já pensou nisto?


Nossa que interessante isso! Não sabia que a linguagem macro tinha essa possibilidade de pegar um arquivo txt ler ele e pegar alguns dados e transferir para uma tabela. Será que fazendo um post deferente aqui no Viva Linux ( na parte do libreoffice) eu consiga ajuda de como desenvolver esse script em macro?


9. Re: Ajudando um novato em SH

Leandro Lenon Munari Santin
Triggerms

(usa Ubuntu)

Enviado em 30/06/2017 - 12:18h

listeiro_037 escreveu:

Se é pra tabela do Calc, provavelmente você deverá indicar o separador na importação.
Ou converter tudo para CSV, por exemplo.


Será que consigo criar o script sem conhecimento em Macro, sera que vc consegui me mandar um exemplo de como fazer a macro ?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts