Thread View: es.comp.os.linux.programacion
3 messages
3 total messages
Started by cpcbegin
Thu, 12 Jun 2008 20:01
bash para mostrar 1,2,3... como a,b,c
Author: cpcbegin
Date: Thu, 12 Jun 2008 20:01
Date: Thu, 12 Jun 2008 20:01
9 lines
1445 bytes
1445 bytes
¿Cómo podrían hacer un bash que introduciéndole un numero ordinal me devuelta la letra ordinal? Es para hacer un comando que pasandole dos parametros por ejemplo 2 3 me devuelva hdb3 Gracias y un saludo.
Re: bash para mostrar 1,2,3... como a,b,c
Author: sio2
Date: Sat, 14 Jun 2008 10:06
Date: Sat, 14 Jun 2008 10:06
18 lines
1622 bytes
1622 bytes
El jueves, 12 de junio de 2008, a las 20:01 GMT, cpcbegin escribi�:
> �C�mo podr�an hacer un bash que introduci�ndole un numero ordinal me
> devuelta la letra ordinal?
Hay muchas formas. A m� se me ocurre usando exclusivamente bash esta:
letras="abcdefg"
l=3
echo ${letras:l:1} #Devuelve "d"
--
Todos buscan quien ampare, yo quien enmiende; que m�s
quiero ir entendido que defendido.
--- Lope de Vega ---
Si Di�xido de Silicio | Debian GNU/Linux lenny/sid
/ \ (SiO2) | Jos� Miguel S�nchez Al�s
O O Mineral de Cuarzo | sio2.ARROB@online.fr | URL #257033
Re: bash para mostrar 1,2,3... como a,b,c
Author: iarenaza
Date: Sat, 14 Jun 2008 10:23
Date: Sat, 14 Jun 2008 10:23
56 lines
3275 bytes
3275 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
>>>>> "cpcbegin" == cpcbegin <cpcbegin@gmail.com> writes:
cpcbegin> �C�mo podr�an hacer un bash que introduci�ndole un
cpcbegin> numero ordinal me devuelta la letra ordinal?
cpcbegin> Es para hacer un comando que pasandole dos parametros
cpcbegin> por ejemplo 2 3 me devuelva hdb3
La orden tr (ente otras) te puede servir. Se puede hacer m�s corto
usando awk o perl, pero es m�s 'pesado' para ejecutarlo:
<---> <---> <---> <---> <---> <---> <---> <---> <---> <---> <---> <--->
#!/bin/bash
ordinal_disco=2
ordinal_particion=3
case $ordinal_disco in
[1-9]) letra_disco=`echo $ordinal_disco | tr '[1-9]' '[a-i]'`
;;
1[0-9]) ordinal_disco=$(($ordinal_disco - 10))
letra_disco=`echo $ordinal_disco | tr '[0-9]' '[j-s]'`
;;
2[0-6]) ordinal_disco=$(($ordinal_disco - 20))
letra_disco=`echo $ordinal_disco | tr '[0-6]' '[t-z]'`
;;
*) echo "Valor de ordinal de disco invalido ($ordinal_disco)"
exit
;;
esac
case $ordinal_particion in
[1-9]) ;;
[1-9][0-9]*) ;;
*) echo "Valor de ordinal de particion invalido ($ordinal_particion)"
exit
;;
esac
particion="hd${letra_disco}${ordinal_particion}"
echo $particion
<---> <---> <---> <---> <---> <---> <---> <---> <---> <---> <---> <--->
Saludos. I�aki.
- --
Get PGP/GPG Keys at http://www.escomposlinux.org/iarenaza/pgpkey.php
I use free software / Yo uso software libre
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8+ <http://mailcrypt.sourceforge.net/>
iD8DBQFIU5w7ZXLnGT1HLgcRAnnIAJwPDqCepxIcGHsufB2LZ9xLCRCUnQCeJhUR
VlE8y8/Vg+FpNebtR6erL58=
=9D6z
-----END PGP SIGNATURE-----
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads