[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Re: Contar caracteres en tiempo real



El día 13 de noviembre de 2010 15:35, Marc Aymerich
<glicerinu@gmail.com> escribió:
> 010/11/13 rantis cares <rantiscares@gmail.com>:
>> El día 13 de noviembre de 2010 13:03, rantis cares
>> <rantiscares@gmail.com> escribió:
>>> El día 13 de noviembre de 2010 12:49, Camaleón <noelamac@gmail.com> escribió:
>>>> El Sat, 13 Nov 2010 11:54:27 -0600, rantis cares escribió:
>>>>
>>>> Te lo marco como OT para que no se nos enfaden...
>>>
>>> ¿Que es eso de que me lo marques como OT para que no se enfaden?
>>>
>>>>
>>>>> Quiero contar el numero de caracteres mediante un script en bash pero
>>>>> cada vez que ingrese un caracter, que lo vaya contando en tiempo real.
>>>>> El comando wc lo hace, pero cuando existe un archivo y no es en tiempo
>>>>> real.
>>>>>
>>>>> yo quiero hacer algo así:
>>>>>
>>>>> #!/bin/bash
>>>>>
>>>>> echo "Contare los caracteres como los vas ingresando"
>>>>> read -p "Contador: "
>>>>
>>>> Sí, con wc... ¿por qué no?
>>>>
>>>> #!/bin/bash
>>>>
>>>> echo "Contare los caracteres como los vas ingresando"
>>>> echo "Contador: "
>>>> read conta
>>>> echo -n $conta | wc -m
>>>>
>>>> Sólo te queda pulirlo un poco para que admita la introducción de retornos
>>>> de carro y añadir el factor "tiempo real" (quizá debas tirar de ncurses
>>>> para pintar una pantalla con dos campos, uno para la introducción de
>>>> datos y otro que vaya mostrando el contenido del contador) ;-P
>>>
>>> Me gusto un poco, la verdad es que yo quisiera que lo mostrara en
>>> tiempo real. La verdad es que no estoy usando ncurses, me gustaria
>>> todo muy sencillo, en bash.
>>>
>>> Claro que no voy a escribir muchos caracteres, pero si creo que hare
>>> un pequeño bucle para conseguir lo que quiero y algunas condiciones
>>> como
>>>
>>> maximo=(igual o menor que)50
>>>
>>>
>>>
>>> if $texto cumple esta condicion $maximo
>>> entonces que ejecute la accion
>>> finaliza
>>>
>>> sino
>>> entonces que se repita el ingreso del texto
>>>
>>> Gracias
>>>
>>> P.D. Yo no sabia que no eras Camaleón, sino que eres Camaleona :D
>>>
>>
>> Bien he realizado el script para contar los caracteres, tal vez no en
>> tiempo real, pero para pequeños ingresos de texto que funcionen.
>>
>> Si alguno tiene una mejor idea, o alguna sugerencia que pudiera hacer
>> que se viera en tiempo real, se los agradecere.
>>
>
> #!/bin/bash
> while read -n1 c; do
> a="$a$c"
> echo -en "\r$a   "$(($(echo $a|wc -c) -1));
> done
>

Marc:

Cuando copie el codigo y vi los resultados, la verdad es que me gusto
la manera de resolver este problema, me parecio genial, de hecho me
puse a reir por la genialidad de la respuesta.

Solo que al estar aprendiendo, no se que tanto sigjifica esto, pero
funciona a medias, te diré porque:

1. No me acepta los espacios, tengo que poner la barra inversa \ y
posteriormente tengo que presionar la barra espaciadora.
2. Si me equivoco, no puedo borrar y ademas cada que presiono la tecla
delete, me lo cuenta como un caracter.
3. Cuando llega al final de la pantalla, vuelve a escribir todo y
dicha pantalla se llena del mismo mensaje cada vez que escribo un
nuevo caracter hasta que termina pareciendose una piramide.

Decir esto, no significa que no valore el script, quisiera yo tener el
conocimiento para desarrollar la genialidad con la que contaste los
caracteres.

Agradeceria si me ayudaras a resolver estos "inconvenientes", y aun si
no lo hicieras, creo que ya hiciste mucho, en lo que a mi corresponde
me pondre a investigar porque me has mostrado el camino para llegar a
donde quiero llegar.

Gracias

P.D. Acepto mas sugerencias


Reply to: