🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #7987

Re: Leer un fichero

#7987
From: zeldere
Date: Thu, 02 Jan 2003 23:10
81 lines
3220 bytes
Respuesta al mensaje de: DK <ionidk@terra.es>.
Con identificador: <7d4ff0e4.0301020707.6388a1a6@posting.google.com>.

> Quiero sacar la media de una serie de datos que tengo almacenados en
> un fichero. El fichero podria ser de la siguiente manera:(datos.txt)
> 15
> 47
> 30
> 80
> 11
> 42
> 65
> 2
> 25
> 23
> 16

    Veamos, ya tienes una soluci�n en C, otra con awk, otra en PHP...
ahora tines una que usa exclusivamente bash:

____ C�digo ___

#!/bin/bash
# media_aritm�tica.zd (resultado entero).
# Autor: Zeles Deree.
# Uso: media_aritm�tica.zd <archivo>

total=0
divisor=0
echo
for i in $(< $1); do
    total=$(( $total + $i ))
    divisor=$(( $divisor + 1 ))
done
media=$(( $total / $divisor ))
echo "Resultado: $media"
_______________

    Pero bash no puede trabajar con decimales, as� que si necesitas
precisi�n puedes incluir en el gui�n una linea que llame a "bc", que s�
puede trabajar con n�meros racionales.

____ C�digo ___

#!/bin/bash
# media_aritm�tica.zd (resultado racional).
# Autor: Zeles Deree.
# Uso: media_aritm�tica.zd <archivo>

total=0
divisor=0
echo
echo -n "Introduce el n�mero de decimales deseados: "
read deci
for i in $(< $1); do
    total=$(( $total + $i ))
    divisor=$(( $divisor + 1 ))
done
media=$(echo "scale=${deci}; $total / $divisor" | bc)
echo "Resultado: $media"
_______________

> Quiesiera saber como se puede leer ese fichero, ir linea a linea para
> poder acumularlo. Como supondreis no tengo ni idea de hacer scripts,
> pero estoy en ello, si ademas me dijeseis donde puedo enconntrar
> informacion, para la siguiente vez no tendree que preguntar.

    Si lo que quieres es aprender a programar guiones o "scripts",
puedes empezar con bash, hay muchos manuales al respecto en la Red.
Tambi�n podr�as echarle un vistazo al manual: "$ man bash"... bueno, lo
del manual puedes dejarlo para m�s adelante; no es de las lecturas m�s
amenas y amigables que te puedes encontrar, sin embargo te servir� como
referencia una vez que ya sepas la base.

    Saludos.


-- 
Zeles Deree (zeldere) / [.zd]
 * Correo: zeldere_nntp@yahoo.es
 * GNU/Linux - LFS 3.1
Technical Details
Message-ID: <av2gsa$fs2$1@titan.bt.es>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!btnet-peer1!btnet-peer0!btnet-peer!btnet!newsfeed.bt.es!news.bt.es!not-for-mail
References: <7d4ff0e4.0301020707.6388a1a6@posting.google.com>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,5cf283a7acb0d167
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2003-01-02 15:27:25 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!btnet-peer1!btnet-peer0!btnet-peer!btnet!newsfeed.bt.es!news.bt.es!not-for-mail
From: zeldere <zeldere_nntp@yahoo.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Leer un fichero
Date: 2 Jan 2003 23:10:02 GMT
Organization: BT Tel. Netnews service (readers)
Lines: 81
Message-ID: <av2gsa$fs2$1@titan.bt.es>
References: <7d4ff0e4.0301020707.6388a1a6@posting.google.com>
NNTP-Posting-Host: cable223a208.usuarios.retecal.es
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Transfer-Encoding: 8bit
X-Trace: titan.bt.es 1041549002 16258 212.183.223.208 (2 Jan 2003 23:10:02 GMT)
X-Complaints-To: abuse@bt.es
NNTP-Posting-Date: 2 Jan 2003 23:10:02 GMT
User-Agent: slrn/0.9.7.3 (Linux)