Re: Ordenar archivos por el número de caracteres de su nombre
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,
>>>>> Toote
>>>>
>>>>
>>>>
>>>> Muy 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,
> Toote
La cuestión es que si hay archivos cuyo nombre empieza con un número
los lista al final.
La que me funciono fue esta:
for FILE in *; do echo `echo ${FILE} | wc -m` ${FILE}; done | sort -g
aunque aparezca el número al principio.
Gracias.
Reply to: