Arquivo e Quantidade

1. Arquivo e Quantidade

Renato Rossi Ferreira
bilbobolseiro

(usa Ubuntu)

Enviado em 06/08/2013 - 22:34h

Boa noite, senhores.

To com muita dificuldade de resolver um problema que parece ser simples. Eu tenho um arquivo com uma seguencia de numeros. e tenho que mostrar vide email o primeiro e o ultimo numero da sequencia que se encontra dentro do arquivo. Exemplo:

body.txt

4
5
6
...
30
31
32
33

No corpo do email deve estar mais ou menos assim... A sequencia registrada foi de 4 ate 33.
A parte do email da construir. Porem o desenvolvimento da logica para pegar o primeiro e o ultimo numero do arquivo ta saindo uma $#%(. Alguem pode me ajudar?

Atenciosamente,
Ferreira


  


2. Re: Arquivo e Quantidade

Fernando
phoemur

(usa Debian)

Enviado em 06/08/2013 - 22:45h

Acho que a maneira mais fácil seria assim:
Execute o comando onde estiver localizado o arquivo body.txt

echo "A sequencia registrada foi de $(head -n1 body.txt) ate $(tail -n1 body.txt)"


Tá parecendo exercício de faculdade isso hehe


3. Re: Arquivo e Quantidade

Renato Rossi Ferreira
bilbobolseiro

(usa Ubuntu)

Enviado em 07/08/2013 - 01:44h

Não, é de faculdade. É do serviço... Não sou muito programador e to usando o bash bourne junto com expect para fazer uma rotina e to iniciando agora no linux.. Mas de qualquer forma muito obrigado pela ajuda... testarei e depois mostro o monstro... sem os detalhes internos de operação.

valeu mesmo.


4. Re: Arquivo e Quantidade

M4iir1c10
m4iir1c10

(usa Arch Linux)

Enviado em 07/08/2013 - 05:42h

O legal do bash e que voce pode atingir os mesmos resultados em diversas maneiras :)
Essa e uma bem simples:

echo "A sequencia registrada foi de $(head -n1 body.txt) ate $(tail -n1 body.txt)"


e essa e outra mais incrementada:

last=$(cat body.txt | wc -l)
echo "A sequencia registrada foi de $(cat body.txt | sed -n 1p) ate $(cat body.txt | sed -n ${last}p)"


Porem como disse o resultado e o mesmo e e isso que interessa :)



5. Re: Arquivo e Quantidade

Fernando
phoemur

(usa Debian)

Enviado em 07/08/2013 - 10:25h

m4iir1c10 escreveu:

O legal do bash e que voce pode atingir os mesmos resultados em diversas maneiras :)
Essa e uma bem simples:

echo "A sequencia registrada foi de $(head -n1 body.txt) ate $(tail -n1 body.txt)"


e essa e outra mais incrementada:

last=$(cat body.txt | wc -l)
echo "A sequencia registrada foi de $(cat body.txt | sed -n 1p) ate $(cat body.txt | sed -n ${last}p)"


Porem como disse o resultado e o mesmo e e isso que interessa :)


Verdade, eu também quando comecei a aprender o sed fazia tudo com ele, mas acho que pra iniciantes em shell script usar tail e head fica mais compreensível...

Mas com o sed eu usaria sem variáveis, apenas assim:


echo "A sequencia registrada foi de $(sed -n '1p' body.txt) ate $(sed -n '$p' body.txt)"


abçs






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts