On 12/06/2012 03:43 PM, Marcos Delgado wrote:
El día 6 de diciembre de 2012 12:05, "Matías A. Bellone" <matiasbellone@gmail.com> escribió:On 12/06/2012 02:52 PM, Marcos Delgado wrote:El día 6 de diciembre de 2012 11:46, "Matías A. Bellone" <matiasbellone@gmail.com> escribió:On 12/06/2012 02:41 PM, Marcos Delgado wrote:El día 6 de diciembre de 2012 11:23, "Matías A. Bellone" <matiasbellone@gmail.com> escribió:On 12/06/2012 02:07 PM, Marcos Delgado wrote:Pues bien, necesito realizar esa labor, hasta el momento lo que más he podido hacer revisando opciones en internet es la siguiente orden: for i in *; do echo $i ; echo -e $i | tr -d '\n' | wc -c ; done pero no me sirve ya que aparecen en líneas separadas el número de caracteres y el nombre del archivo. Se agradece cualquier ayuda. Gracias. Marcos Delgado.for FILE in *; do echo `echo ${FILE} | wc -m` ${FILE}; done | sort -n | cut -d\ -f2 Lo que hacés es: 1- imprimir (2) y el nombre del archivo 2- darle de comer cada nombre de archivo a "wc -m" 3- a toda la salida pasarla por sort -n 4- sólo obtener el nombre del archivo con cut Saludos, TooteMuy bien! el único problema es con los archivos con espacios, estoy viendo si con poner comillas se soluciona, gracias.cambiá el 2 al final por "2-" para que te muestre todo menos el 1er campo.Sigue igual, gracias.Entonces no lo estás haciendo bien: $ ls apruebas 1.txt prueba 1.txt prueba 2.txt pruebas 1.txt $ for FILE in *; do echo `echo ${FILE} | wc -m` ${FILE}; done | sort -n | cut -d\ -f2- prueba 1.txt prueba 2.txt pruebas 1.txt apruebas 1.txt $ Saludos, TooteLa cuestión es que si hay archivos cuyo nombre empieza con un número los lista al final.
A mí no me pasa eso: $ ls 1 ast.txt apruebas 1.txt prueba 2.txt 2 asdsddst.txt prueba 1.txt pruebas 1.txt$ for FILE in *; do echo `echo ${FILE} | wc -m` ${FILE}; done | sort -n | cut -d\ -f2-
1 ast.txt prueba 1.txt prueba 2.txt pruebas 1.txt 2 asdsddst.txt apruebas 1.txt Saludos, Toote