¡Advertencia!
Este tema no ha tenido respuestas en más de un mes. Recuerda que si deseas añadir una nueva debes cumplir con las normas de la web.
Hola buenas, pregunto aqui porque kekomundo no funciona y veo que también saben mucho aqui de tecnologia asi que a ver si me pueden ayudar

En un pen tengo una carpeta con 13 GB de mp3 más o menos con sus portadas y me gustaria organizarlo en carpetas alfabeticas. Ósea que todos los archivos que empiezan por A vayan a una carpeta llamada A, las que empiezan por B a la B y asi con todos. Lo que hacia era crear carpetas de la A a la Z y copio todos los archivos que correspondan pero busco algo para hacerlo automatico porque son muchos archivos :l

Hay algun programa para hacer esto rapidamente? Si puede ser para Mac OS X Yosemite 10.10.5

19.
Nunca he usado un MAC, pero supongo que funcionará igual que en otros sistemas UNIX.

Sería algo como:

mv ./'^[aA]*' ./A
mv ./'^[bB]*' ./B
mv ./'^[cC]*' ./C
mv ./'^[0-9]*' ./0

(Ese movería todos los ficheros que empiecen por a, b y c dentro del directorio A, B y C respectivamente. La última moveria aquellos que empiecen por número.)

Si no lo quieres hacer manualmente, mete todo el código en un script y lo ejecutas dentro del directorio y ya.

P.D: Hace muuuuuuuuuucho que no uso ningun sistema UNIX y puede que mi memoria me haya fallado, pruébalo, y si no funciona avisame, pero supongo que debe ser muy parecido a eso. De todas formas si alguien sabe mejor como es, que "nos" ayude jaja.

Habbo Old. Buenos momentos aquellos de cacería...

Nunca he usado un MAC, pero supongo que funcionará igual que en otros sistemas UNIX.

Sería algo como:

mv ./'^[aA]*' ./A
mv ./'^[bB]*' ./B
mv ./'^[cC]*' ./C
mv ./'^[0-9]*' ./0

(Ese movería todos los ficheros que empiecen por a, b y c dentro del directorio A, B y C respectivamente. La última moveria aquellos que empiecen por número.)

Si no lo quieres hacer manualmente, mete todo el código en un script y lo ejecutas dentro del directorio y ya.

P.D: Hace muuuuuuuuuucho que no uso ningun sistema UNIX y puede que mi memoria me haya fallado, pruébalo, y si no funciona avisame, pero supongo que debe ser muy parecido a eso. De todas formas si alguien sabe mejor como es, que "nos" ayude jaja.

Perdon por mi ignorancia pero no he entendido nada de nada XD He estado buscando programas pero no en cuentro nada para lo que quiero hacer. Como funcionaria eso que has explicado? Si no es molestia jaja

19.
El Finder es una app que ayuda a navegar por todos los archivos y las carpetas de una Mac. El Finder permite explorar las apps, los discos, los archivos y las carpetas de diversas maneras. Es posible utilizar el Finder para organizar estos elementos de la manera deseada. También se puede utilizar el Finder para buscar elementos, eliminar archivos que ya no sean necesarios y mucho más.


¿No te funciona?

Abres una ventana del finder, a la derecha vas a ver un icono de un engrane con una flechita hacia abajo, vas a "opciones de visualización" y organizar: eliges clase, y donde dice ordenar por: nombre, con eso lo tendrás organizado.

Si eso no te funciona, me rindo.

Perdon por mi ignorancia pero no he entendido nada de nada XD He estado buscando programas pero no en cuentro nada para lo que quiero hacer. Como funcionaria eso que has explicado? Si no es molestia jaja

Lo que te estaba comentando Isma era que probaras a introducir una serie de comandos del shell de Unix (sistema operativo en el que está basado el que estás utilizando tú), que tendrías que introducir a través de la terminal del sistema. No recuerdo cómo se accedía desde OS X a la terminal, pero seguramente esté dentro del directorio de Utilidades del sistema visible una vez que abres Finder (la ubicación exacta no la recuerdo). No tengas miedo a una pantalla negra con letras blancas.

Luego una vez dentro de la terminal sería dirigirte al directorio donde tengas tus archivos mediante cd o pushd:
cd (Ruta)


Esa ruta la puedes ver dentro de las propiedades del directorio donde tengas todos los archivos (te tiene que salir una ruta que empiece por /Volumes si se trata de un pendrive). Simplemente la copias o la escribes tal cual sale ahí en la terminal a continuación de cd y al pulsar Intro ya estarás dentro de ese directorio en la terminal.

A continuación ya sería probar a introducir uno a uno cada comando que te ha indicado @lSirIsmah en el código de más arriba asumiendo que ya tenías creados los directorios A, B, C, D, E... X, Y, Z (aunque no recuerdo si mv para BSD permitía pasar regexps como parámetros).

Perro viejo de Habbo y de HabboStium. Y lo mismo en la vida real, pero sin el "perro".

El Finder es una app que ayuda a navegar por todos los archivos y las carpetas de una Mac. El Finder permite explorar las apps, los discos, los archivos y las carpetas de diversas maneras. Es posible utilizar el Finder para organizar estos elementos de la manera deseada. También se puede utilizar el Finder para buscar elementos, eliminar archivos que ya no sean necesarios y mucho más.


¿No te funciona?

Abres una ventana del finder, a la derecha vas a ver un icono de un engrane con una flechita hacia abajo, vas a "opciones de visualización" y organizar: eliges clase, y donde dice ordenar por: nombre, con eso lo tendrás organizado.

Si eso no te funciona, me rindo.

No entendiste...Estaba haciendo hasta ahora eso pero queria algo mas automatico y rapido de hacer para cada vez que tenga que hacer eso porque son muchos archivos.

No lo dije antes pero tengo otras carpetas dentro del pendrive que me gustaria clasificar en esas mismas carpetas alfabeticas si no es mucho pedir. Si no se puede no pasa nada, tendre que hacerlo todo a mano :l






Perdon por mi ignorancia pero no he entendido nada de nada XD He estado buscando programas pero no en cuentro nada para lo que quiero hacer. Como funcionaria eso que has explicado? Si no es molestia jaja

Lo que te estaba comentando Isma era que probaras a introducir una serie de comandos del shell de Unix (sistema operativo en el que está basado el que estás utilizando tú), que tendrías que introducir a través de la terminal del sistema. No recuerdo cómo se accedía desde OS X a la terminal, pero seguramente esté dentro del directorio de Utilidades del sistema visible una vez que abres Finder (la ubicación exacta no la recuerdo). No tengas miedo a una pantalla negra con letras blancas.

Luego una vez dentro de la terminal sería dirigirte al directorio donde tengas tus archivos mediante cd o pushd:
cd (Ruta)


Esa ruta la puedes ver dentro de las propiedades del directorio donde tengas todos los archivos (te tiene que salir una ruta que empiece por /Volumes si se trata de un pendrive). Simplemente la copias o la escribes tal cual sale ahí en la terminal a continuación de cd y al pulsar Intro ya estarás dentro de ese directorio en la terminal.

A continuación ya sería probar a introducir uno a uno cada comando que te ha indicado @lSirIsmah en el código de más arriba asumiendo que ya tenías creados los directorios A, B, C, D, E... X, Y, Z (aunque no recuerdo si mv para BSD permitía pasar regexps como parámetros).

Sabia donde estaba Terminal pero no sabia que eran comandos ese codigo XD Gracias

He probado el primer codigo y me da error

Mac-de-Angel:~ USB$ mv ./'^[aA]*' ./A
mv: rename ./^[aA]* to ./A/^[aA]*: No such file or directory

Igual no funciona ninguno de los de más


Mensaje de moderación: ¡Hola! En lugar de responder varias veces en un mismo tema, edita tu último mensaje, ya que está prohibido hacer dobleposts salvo en casos estrictamente necesarios (límite de caracteres, ha pasado tiempo desde que publicaste la última respuesta, etc). Un saludo

19.
Si no te funciona lo de antes y si dices que tienes además otros subdirectorios donde tienes otros archivos que quieres clasificar, primero mueve todo lo que quieres clasificar en un directorio aparte del pendrive para que no afecte al resto de archivos que puedas tener almacenados (por ejemplo, en /Volumes/USB/Musica) y cópialo en el disco duro por si acaso te cargas algo sin querer (ojo, estoy acostumbrado a trabajar con comandos GNU más que con comandos de Unix, que aunque parezcan que son exactamente iguales, tienen algunas diferencias, así que aviso que por problemas de compatibilidad puede que no te funcione esta solución que te voy a poner a continuación).


En el directorio anterior al que hemos creado mismo (en /Volumes/USB), crea una carpeta donde estarán todos tus archivos ya clasificados (por ejemplo, "Clasificados") y desde ahí, introduce este comando:
mkdir -p {A..Z}


Eso creará subdirectorios con cada letra del alfabeto dentro de /Volumes/USB/Clasificados

Nos vamos atrás y volvemos al directorio "Musica" nuevo que hemos creado en el pendrive donde hemos movido todos los archivos y subdirectorios con los archivos que quieres clasificar. Desde ahí, prueba primero a introducir este comando:

find . -mindepth 2 | xargs -i mv {} .

Esto moverá todos los archivos que se encuentren en todos los subdirectorios de /Volumes/USB/Musica/(...) al directorio actual, que es /Volumes/USB/Musica, así será más fácil copiar todos los archivos de un mismo lugar de origen.

Lo que hará find es buscar por todos los archivos recursivamente a partir del directorio especificado (en este caso he puesto ".", que es un símbolo del directorio actual) y el parámetro -mindepth 2 buscará a partir de subdirectorios de nivel superior al actual (omitiendo el directorio actual ya que de nada servirá mover archivos de una misma ubicación al mismo destino). Pasándolo por tubería a xargs lo que haremos es ejecutar el comando mv (renombrar/mover) por cada archivo que encuentre find, al directorio actual (.).

Si todo ha salido bien y no te ha devuelto ningún error, desde el mismo directorio Musica que hemos creado, elimina todos los subdirectorios que tenías si se encuentran vacíos (esto lo puedes hacer desde la terminal con rmdir o bien gráficamente desde Finder si te aclaras mejor). Si hay alguno que contenga algún archivo, algo ha salido mal antes.

Luego desde ahí, prueba a continuación a copiar y pegar esta orden, un poco más enrevesada que la anterior:
ls -1 | cut -b1 | uniq | while read archivo;
do
  directorio=$(echo $archivo | tr "[a-z0-9]" "[A-Z0-9]");
  cp -v $archivo* ../Clasificados/$directorio/;
done;

Las variables van siempre precedidas de '$' en bash (shell que utiliza OS X por defecto en la terminal).

La primera línea listará todos los archivos presentes en el directorio actual en una sola columna (ls -1). Pasándolo por tubería a cut -b1 lo que hará será mostrar solo el primer byte o primer carácter del nombre de cada archivo listado (letra por la que empieza cada archivo). Si además lo pasamos por tubería a uniq, no se mostrarán resultados repetidos. Todo eso, lo pasamos por tubería a while read archivo, bucle que se encargará de leer línea por línea cada inicial listada en el directorio actual (se irá guardando a la variable $archivo uno por uno la letra inicial de cada archivo a copiar).

Entonces dentro de ese bucle irá copiando todos los archivos empezados por cada letra (definido en la variable $archivo), al subdirectorio alfabético correspondiente en /Volumes/USB/Clasificados (definido en la variable $directorio, que es la letra del $archivo en mayúsculas).

Si se pudieran utilizar regexps, que no estoy seguro de si se pueden utilizar desde ahí, se podría abreviar mucho todo este tinglado que te he montado.

Perro viejo de Habbo y de HabboStium. Y lo mismo en la vida real, pero sin el "perro".

Si no te funciona lo de antes y si dices que tienes además otros subdirectorios donde tienes otros archivos que quieres clasificar, primero mueve todo lo que quieres clasificar en un directorio aparte del pendrive para que no afecte al resto de archivos que puedas tener almacenados (por ejemplo, en /Volumes/USB/Musica) y cópialo en el disco duro por si acaso te cargas algo sin querer (ojo, estoy acostumbrado a trabajar con comandos GNU más que con comandos de Unix, que aunque parezcan que son exactamente iguales, tienen algunas diferencias, así que aviso que por problemas de compatibilidad puede que no te funcione esta solución que te voy a poner a continuación).


En el directorio anterior al que hemos creado mismo (en /Volumes/USB), crea una carpeta donde estarán todos tus archivos ya clasificados (por ejemplo, "Clasificados") y desde ahí, introduce este comando:
mkdir -p {A..Z}


Eso creará subdirectorios con cada letra del alfabeto dentro de /Volumes/USB/Clasificados

Nos vamos atrás y volvemos al directorio "Musica" nuevo que hemos creado en el pendrive donde hemos movido todos los archivos y subdirectorios con los archivos que quieres clasificar. Desde ahí, prueba primero a introducir este comando:

find . -mindepth 2 | xargs -i mv {} .

Esto moverá todos los archivos que se encuentren en todos los subdirectorios de /Volumes/USB/Musica/(...) al directorio actual, que es /Volumes/USB/Musica, así será más fácil copiar todos los archivos de un mismo lugar de origen.

Lo que hará find es buscar por todos los archivos recursivamente a partir del directorio especificado (en este caso he puesto ".", que es un símbolo del directorio actual) y el parámetro -mindepth 2 buscará a partir de subdirectorios de nivel superior al actual (omitiendo el directorio actual ya que de nada servirá mover archivos de una misma ubicación al mismo destino). Pasándolo por tubería a xargs lo que haremos es ejecutar el comando mv (renombrar/mover) por cada archivo que encuentre find, al directorio actual (.).

Si todo ha salido bien y no te ha devuelto ningún error, desde el mismo directorio Musica que hemos creado, elimina todos los subdirectorios que tenías si se encuentran vacíos (esto lo puedes hacer desde la terminal con rmdir o bien gráficamente desde Finder si te aclaras mejor). Si hay alguno que contenga algún archivo, algo ha salido mal antes.

Luego desde ahí, prueba a continuación a copiar y pegar esta orden, un poco más enrevesada que la anterior:
ls -1 | cut -b1 | uniq | while read archivo;
do
  directorio=$(echo $archivo | tr "[a-z0-9]" "[A-Z0-9]");
  cp -v $archivo* ../Clasificados/$directorio/;
done;

Las variables van siempre precedidas de '$' en bash (shell que utiliza OS X por defecto en la terminal).

La primera línea listará todos los archivos presentes en el directorio actual en una sola columna (ls -1). Pasándolo por tubería a cut -b1 lo que hará será mostrar solo el primer byte o primer carácter del nombre de cada archivo listado (letra por la que empieza cada archivo). Si además lo pasamos por tubería a uniq, no se mostrarán resultados repetidos. Todo eso, lo pasamos por tubería a while read archivo, bucle que se encargará de leer línea por línea cada inicial listada en el directorio actual (se irá guardando a la variable $archivo uno por uno la letra inicial de cada archivo a copiar).

Entonces dentro de ese bucle irá copiando todos los archivos empezados por cada letra (definido en la variable $archivo), al subdirectorio alfabético correspondiente en /Volumes/USB/Clasificados (definido en la variable $directorio, que es la letra del $archivo en mayúsculas).

Si se pudieran utilizar regexps, que no estoy seguro de si se pueden utilizar desde ahí, se podría abreviar mucho todo este tinglado que te he montado.

Pufffffff...soy nulo en programación y tengo miedo de borrar algo XD Pensaba que habia algo mas fácil pero ya me he dado cuenta que no...

De todos modos, muchas gracias a todos por vuestra ayuda. Seguire buscando y si no encuentro otra opción intentaré lo que han dicho o lo seguiré haciendo como lo hacía antes cueste lo que cueste

19.