El día 13 de noviembre de 2010 15:35, Marc Aymerich <[email protected]> escribió: > 010/11/13 rantis cares <[email protected]>: >> El día 13 de noviembre de 2010 13:03, rantis cares >> <[email protected]> escribió: >>> El día 13 de noviembre de 2010 12:49, Camaleón <[email protected]> >>> 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 -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

