Re: [opensuse-es] Mi directorio en varios DVDs con k3b
El 13/01/07, Juan Gustavo Fogelman escribió:
hablando de esto
Vale, pero envía a la lista, que si no el concurso será sólo entre tú y yo ;-)
y si hacemos un concurso a ver quien le sale mejor un script, batch, programa, (como lo llemes aqui) que haga:
**** BASES DEL CONCURSO
1) una copia de un directorio en otro 2) con todos sus subdirectorios 3) creando la misma estructura de archivos, pero usando enlaces duros, o sea, uso de disco minimo 4) como parametros pasarle ruta origen y ruta destino
opcional 5) que le pase los datos a k3b de a 4,3GB (4,7GiB) y luego de quemar borre los enlaces duros
imprescindible 6) que sea GPL
1er PREMIO: Agradecimiento incondicional de Harmless
*enviar su participacion a la lista
****
que vamos a tardar menos y a generar menos trafico
Saludos, -- Camaleón --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
Vale, pero envía a la lista, que si no el concurso será sólo entre tú y yo ;-)
elitista lo mio. uffff perdon, aqui es sabado a las 9AM bueno, de todas maneras ya lo enviaste tu --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2007-01-13 a las 13:22 +0100, Camaleón escribió:
El 13/01/07, Juan Gustavo Fogelman escribió:
1) una copia de un directorio en otro 2) con todos sus subdirectorios 3) creando la misma estructura de archivos, pero usando enlaces duros, o sea, uso de disco minimo 4) como parametros pasarle ruta origen y ruta destino
Bueno, si despues después de la siesta, del paseo, del cine, de las copas y todo eso me quedan ganas, me pongo :-p - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFFqPf6tTMYHG2NR9URAs5/AJ9ZQl+x6/6C9dqHlmBzZj9HW4BiCACfT6ri hWMR7usCRMnXuxD3rtRfrVE= =Sd3W -----END PGP SIGNATURE-----
El DIASEMANA 13 Enero 2007 16:17, Carlos E. R. escribió:
El 2007-01-13 a las 13:22 +0100, Camaleón escribió:
El 13/01/07, Juan Gustavo Fogelman escribió:
1) una copia de un directorio en otro 2) con todos sus subdirectorios 3) creando la misma estructura de archivos, pero usando enlaces duros, o sea, uso de disco minimo 4) como parametros pasarle ruta origen y ruta destino
Bueno, si despues después de la siesta, del paseo, del cine, de las copas y todo eso me quedan ganas, me pongo :-p
JAJAJAJAJA Ha sido bueno lo del premio, pero estoy seguro que tendría el primer premio (por descontado) Respecto a la aplicación que no existe, me refiero a que yo seleccione en K3b un tamaño más grande de los 4700 MB y el K3b me pregunte: ¿Quieres copiarlo en 2 DVDs? Yo responda SÍ y copie los datos tal cual en un DVD y lo que falte en otro. Sólo tendría que tener en cuenta archivos demasiado grandes, pero no creo que fuera difícil de hacer. Todavía no he mirado nada (sin tiempo) pero lo haré.... Saludos y gracias por el interés de todos Harmless --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2007-01-14 a las 18:18 +0100, Harmless escribió:
Bueno, si despues después de la siesta, del paseo, del cine, de las copas y todo eso me quedan ganas, me pongo :-p
JAJAJAJAJA
Ha sido bueno lo del premio, pero estoy seguro que tendría el primer premio (por descontado)
Bueno, pues ya tengo uno, y con un bug conocido: falla en los nombres de ficheros y directorios con espacios, no los hace. Tengo una solución para eso con un programita en pascal que los "escapa", pero igual alguien conoce otra manera "tipo script" o más correcta (el origen del error lo indico abajo): #!/bin/bash ORIGEN=/home/cer/tmp DESTINO=/home/cer/tmp.lnk function CreateSLink() { # target name if ! test -L "$2" ; then ln "$1" "$2" #> /dev/null echo "$1" "-->" "$2" fi } function CreateHLink() # ¡¡Recursiva!! { # target name if ! test -f "$2" ; then ln "$1" "$2" # > /dev/null echo "$1" "-->" "$2" fi } function CreateDir() { if ! test -d "$1" ; then mkdir "$1" # > /dev/null echo "Mk: ""$1" fi } function UnNivel() { local IFILE=$1 local OFILE=$2 local FILE_L1="A" for FILE_L1 in $( ls $IFILE ) do # Es un archivo if test -f "$IFILE/$FILE_L1" ; then CreateHLink "$IFILE/$FILE_L1" "$OFILE/$FILE_L1" # enlazar fichero fi # Es un directorio if test -d "$IFILE/$FILE_L1" ; then CreateDir "$OFILE"/"$FILE_L1" # crear directorio UnNivel "$IFILE/$FILE_L1" "$OFILE"/"$FILE_L1" # Recorrer el siguiente nivel fi done } CreateDir $DESTINO UnNivel $ORIGEN $DESTINO # Bugs: falla si el nombre del directorio contiene espacios, no lo crea. # La culpa es de la linea: # for FILE_L1 in $( ls $IFILE ) # devuelve varias palabras por fichero cuando tiene espacios. #Se ve con esta modificación: # do # echo "-"$FILE_L1"-" - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFFqtTStTMYHG2NR9URAtRAAJ9n0WNF5/4YTEYDPhf+rBfsxEUi2QCdG7xe 3qFbED6cx2o3Bss6MhMgRAQ= =I8oA -----END PGP SIGNATURE-----
El Lunes, 15 de Enero de 2007 02:11, Carlos E. R. escribió:
Bueno, pues ya tengo uno, y con un bug conocido: falla en los nombres de ficheros y directorios con espacios, no los hace. Tengo una solución para eso con un programita en pascal que los "escapa", pero igual alguien conoce otra manera "tipo script" o más correcta (el origen del error lo indico abajo):
* Que los substituya primero por un _ ----------Quitar espacios ---------- #!/bin/bash ## Substituir espacios en blanco de ficheros por _ ## ejecutar en el directorio donde esten los ficheros ## tambien un comando que podria valer ## for i in *;do mv "$i" "${i// /_}"; done ## DO= if [ "_$1" = "_-n" ] then DO=echo shift fi find $1 -depth -print |\ while read file do DIR=`expr "$file" : '\(\([^\/]*\/\)*\)\(.*\)'` FILE=`expr "$file" : "$DIR"'\(.*\)'` NFILE="$DIR"`echo "$FILE" | tr '[A-Z]' '[a-z]' | tr '][|!;:\ #$&~' _ ` if [ "$NFILE" != "$file" ] then if [ -f "$NFILE" ] then echo Warning: "$NFILE" exists "($file)" else echo Renaming: "$NFILE" $DO mv "$file" "$NFILE" fi fi done --------------fin ----------
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2007-01-17 a las 00:29 +0100, jose maria escribió:
* Que los substituya primero por un _
Hay otra manera que no me sale. Es, más o menos: find $IFILE -printf "%f\n"> ~/bin/duplicar.lst while read FILE_L1 ; do ... done < ~/bin/duplicar.lst Que no es. Más bien sería: find inicial -maxdepth 1 -printf "%f\n" pero todavía no vale porque encuentra el directorio "inicial",, que hay que excluir. Pero al menos devuelve una linea distinta por cada fichero o directorio encontrado. Y aún así, tampoco funciona, pero no puedo investigarlo hoy. También hay otra opción en "find" que "escapa" los caracteres raros, pero no he conseguido que me ande. - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFFrXVktTMYHG2NR9URAo47AJ0RVQjap1lT3hCJ72f7hA2NJxslngCfZ8EQ IwODcgji4Z6/fERgiTE9ss8= =YgP/ -----END PGP SIGNATURE-----
El 17/01/07, Carlos E. R. escribió:
find inicial -maxdepth 1 -printf "%f\n"
pero todavía no vale porque encuentra el directorio "inicial",, que hay que excluir.
¿El modificador "-prune" de find no te sirve? Lo digo porque si buscas por "find exlude directories" encuentras algunas opciones para excluir los directorios... http://www.google.com/search?hl=en&lr=&q=find+exclude+directories Saludos, -- Camaleón --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2007-01-17 a las 12:34 +0100, Camaleón escribió:
El 17/01/07, Carlos E. R. escribió:
find inicial -maxdepth 1 -printf "%f\n"
pero todavía no vale porque encuentra el directorio "inicial",, que hay que excluir.
¿El modificador "-prune" de find no te sirve?
Lo digo porque si buscas por "find exlude directories" encuentras algunas opciones para excluir los directorios...
El find es un gran desconocido (para mí al menos), es bastante complejo, más de lo que parece. Me he dado cuenta que hay una manera mucho mejor de hacer el script con find. Mi idea inicial era recorrer cada directorio recursivamente, creando los directorios y enlaces, con una función que se llama a sí misma cada vez que entra en un directorio. Pero el find puede encontrarlos todos y listarlos, sin usar recursividad. Y puedes decirle con antelación que quieres encontrar los directorios, o en otra pasada los ficheros - así que se puede hacer en dos pasos sin recursividad. Más simple. Pero no me he puesto a codificarlo. - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFFrjdltTMYHG2NR9URAqcvAKCX0sSc5nyJHNUkS/c9QYIMA3XY9gCcCE8M qCh7FBfw9rQeTOZEKmvM4dc= =cG3z -----END PGP SIGNATURE-----
Estuve intentando ejecutar el script pero me da errores. No sé donde está el fallo. Sigo mirando, y volveré a escribir Harmless --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2007-01-17 a las 21:22 +0100, Harmless escribió:
Estuve intentando ejecutar el script pero me da errores. No sé donde está el fallo. Sigo mirando, y volveré a escribir
¿Que error? - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFFronQtTMYHG2NR9URAnKhAJ0fLYWHbiUPxKLQU/vhqeizJZQqzgCfbmgw Xxhl/Xj3QG4ou3hUscsWKkQ= =jAmL -----END PGP SIGNATURE-----
participants (5)
-
Camaleón
-
Carlos E. R.
-
Harmless
-
jose maria
-
Juan Gustavo Fogelman