Article View: es.comp.os.linux.programacion
Article #6987Re: Consulta Shell
From: Pascal Bourguignon
Date: Fri, 18 Apr 2003 00:57
Date: Fri, 18 Apr 2003 00:57
56 lines
3128 bytes
3128 bytes
triatlonn@terra.es (Stanley) writes:
> Hola Pascal,,
>
> Me podrias explicar en 4 lineas que hacen estas 2 sentencias:
>
> 1.-esac
man bash !!
case - esac
if - fi
do - done
> 2.-printf "%03d-%03d 1c-%02d 2c-%02d 3c-%02d
>
> Por mucho que lo miro, no consigo saber como asignas a
> 03d el n�mero de l�nea y despues el n de caracteres.
Pues mira otras l�neas. Esta solamente imprime los resultados.
#!/bin/bash
fichero="$1" # usa doble-quotes por si el nombre contiene espacios.
if [ -f "$fichero" -a -r "$fichero" ] ; then # man test
echo "fichero correcto"
numlinea=0 # initializaci�n del n�mero de l�nea
while read linea ; do
numlinea=$(( $numlinea + 1 )) # incrementa el n�mero de l�nea
uno=0
dos=0
tre=0
res=0
for word in $linea ; do # �no " aqu�!
case ${#word} in # aqu� se selecciona seg�n el n�mero de
# caracteres en la palabra : ${#word}
1) uno=$(( $uno + 1 )) ;;
2) dos=$(( $dos + 1 )) ;;
3) tre=$(( $tre + 1 )) ;;
*) res=$(( $res + 1 )) ;;
esac
done
printf "%03d-%03d 1c-%02d 2c-%02d 3c-%02d Resto-%02d\n" \
$numlinea ${#linea} $uno $dos $tre $res
# imprimir primero el n�mero de l�nea $numlinea
# luego el n�mero de caracteres en la linea: ${#linea}
done < "$fichero"
echo "numero de lineas total: $i"
else
echo "$fichero no es un fichero o no se puede leer."
fi
--
__Pascal_Bourguignon__ http://www.informatimago.com/
----------------------------------------------------------------------
Do not adjust your mind, there is a fault in reality.
Technical Details
Message-ID:
<87vfxcy643.fsf@thalassa.informatimago.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsmi-us.news.garr.it!newsmi-eu.news.garr.it!NewsITBone-GARR!fu-berlin.de!uni-berlin.de!thalassa.informatimago.COM!not-for-mailReferences:
<994c040b.0304111350.414087f7@posting.google.com> <slrnb9ej5k.114.ppujalARROBA@hola.fou.net> <8765pk9w43.fsf@thalassa.informatimago.com> <994c040b.0304121455.65edbb1b@posting.google.com> <87ptnrl143.fsf@thalassa.informatimago.com> <994c040b.0304130858.3fb47685@posting.google.com>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,a25bc7d3540e92c3 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2003-04-17 17:57:50 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsmi-us.news.garr.it!newsmi-eu.news.garr.it!NewsITBone-GARR!fu-berlin.de!uni-berlin.de!thalassa.informatimago.COM!not-for-mail From: Pascal Bourguignon <spam@thalassa.informatimago.com> Newsgroups: es.comp.os.linux.programacion Subject: Re: Consulta Shell Date: 18 Apr 2003 02:57:48 +0200 Organization: informatimago.com Lines: 56 Message-ID: <87vfxcy643.fsf@thalassa.informatimago.com> References: <994c040b.0304111350.414087f7@posting.google.com> <slrnb9ej5k.114.ppujalARROBA@hola.fou.net> <8765pk9w43.fsf@thalassa.informatimago.com> <994c040b.0304121455.65edbb1b@posting.google.com> <87ptnrl143.fsf@thalassa.informatimago.com> <994c040b.0304130858.3fb47685@posting.google.com> NNTP-Posting-Host: thalassa.informatimago.com (195.114.85.194) Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: fu-berlin.de 1050627468 3026536 195.114.85.194 (16 [41911]) User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50