Registrarse
Home
Foros
Miembros
Calendario
Normas
Ayuda

Foros de usuarios de openSUSE
Retroceder   ForoSUSE > Zona Técnica > Programación y Scripts


Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook

Respuesta
 
Herramientas Desplegado

Script bash para crear varias carpetas de una sola vez
  #1  
Antiguo 25-mar-2013, 21:59
asero12 asero12 está desconectado
Aforado
 
Fecha de Ingreso: 25-marzo-2013
Versión: 12.3
Mensajes: 23
Agradecimientos: 6
Agradecido 0 Veces en 0 Mensajes
Poder de Credibilidad: 0
asero12 está en el buen camino
Arrow Script bash para crear varias carpetas de una sola vez

Hola, soy nuevo en el foro, y he estado teniendo unos cuántos problemas con un script que he estado haciendo en bash.

La idea principal del script es que cree cualquier clase de archivos en las carpetas del directorio home, eso ya lo hice, pero sólo crea una archivo; entonces se me vino la idea de agregarle una opción en la que se pudieran crear varios archivos de "un solo tiro"... lo primero que quiero hacer es usar las llaves para crear archivos numerados, es decir:

quiero crear 6 txt llamados texto1, texto2... hasta texto6, para esto sé que debo
hacer esto: touch texto{1..6}.txt ... pero en el script les doy la opción de elegir el nombre de los archivos ("texto" en este caso), y de qué número, a qué número quisieran crearlo, almacenando esos datos con read,mas o menos así:


Cita:
clear && echo -n "¿Cuál quisiera que fuera el nombre principal de su bloque de archivos?: "
read nomprin1
clear && echo -n "¿Desde qué número quisiera usted que se creen los archivos?: "
read inicio1
echo -n "¿Hasta qué número quiere que se creen los archivos?: "
read final1
clear && touch $nomprin1{${inicio1}..${final1}}.txt
Entonces si:

Cita:
$nomprin1=texto
$inicio1=1
$final1=6
debería crear:
texto1.txt texto2.txt ... hasta texto6.txt

pero en vez de eso crea sólo un archivo de texto llamado:
texto{1..6}.txt

Mi pregunta es ¿qué estoy haciendo mal, por qué no se crean la cantidad de archivos indicados si está bien el formato?










ÉSTE ES EL CÓDIGO DE FUENTE DEL SCRIPT:


Cita:
#!/bin/bash
clear
if [ "$1" = "help" ]
then
echo "\------------------INDICACIONES PARA USAR TEXTUALFILEMAKER-------------------------------/"
echo "*Este es un script diseñado para crear varios tipos de archivo usando el shell, el cual"
echo " Está escrito en bash."
echo
echo "*(En el selector) el nombre del formato debe estar escrito en minúsculas,"
echo " puede llevar un punto al frente... o no."
echo
echo "*Las carpetas (Descargas, Documentos, Escritorio, Imágenes, Música, Videos)"
echo "deben estar escritas empezando por mayúsucula, si no, el programa hara loop."
echo
echo
echo
echo " -g Modo de creación avanzada"
echo
echo
echo
elif [ "$1" != "help" ]
then
shopt -s "extglob"
#CABECERA
echo "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>"
echo "======================BIENVENIDO A TEXTUALFILEMAKER======================"
echo "========================CREADO POR DANIEL BONILLA========================"
echo "===============SCRIPT PARA CREAR CARPETAS Y ARCHIVOS====================="
echo "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>"
echo "THE BASH VERSION THOU ART USING : $BASH_VERSION"
echo
echo
echo "Recuerde la opción -g para entrar en"
echo "el modo de creación por bloques."
echo
echo
echo -n "Presione cualquier tecla para comenzar."
read
echo
echo
#FIN CABECERA
#VARIABLES
#descargas=clear && cd ~/Descargas
#documentos=clear && cd ~/Documentos
#escritorio=clear && cd ~/Escritorio
#imagenes=clear && cd ~/Imágenes
#musica=clear && cd ~/Música
#videos=clear && cd ~/Vídeos
if [ "$1" = "-g" ]
then
clear && echo "\--------------------CREACION DE ARCHIVO POR BLOQUES (-g)--------"
echo "Usted ha ingresado la opción -g, por ende, "
echo "ha entrado en el modo de creación de archivos por bloques."
echo "Este modo es ideal para cuándo se necesiten crear "
echo "varios archivos, dando distintas opciones:"
echo
echo "-Por patrones númericos: Por ejemplo, si quiere crear 4 archivos,"
echo "llamados 'saldo' y además les quiere poner"
echo "a cada uno, un número (saldo1, saldo2, saldo3, saldo4),"
echo "ésta es la opción ideal."
echo
echo "-Por patrones alfabéticos: Por ejemplo, si quiere crear 4 archivos"
echo "llamados 'cuentas' y además les quiere poner"
echo "a cada uno una letra (cuentas a, cuentas b, cuentas c...),"
echo "ésta es su opción"
echo
echo "-Uno a uno: si lo que desea es crear varios archivos que no tengan"
echo "relación entre sí (sólo su formato), ésta es la opción ideal."
echo
echo "--------------------------------------------------------------------------"
echo "Ahora, elija cuál opción de las mencionadas arriba quisiera usar:"
echo
echo "1) Por patrones numéricos"
echo "2) Por patrones alfabéticos"
echo "3) Uno a uno"
echo
echo -n "Introduzca el número (1,2,3): "
read modo
case $modo in
#MODO 1
1)
until [ "$respuesta1" = ".txt" ] || [ "$respuesta1" = "txt" ] || [ "$respuesta1" = ".sh" ] || [ "$respuesta1" = "sh" ] || [ "$respuesta1" = "Carpeta" ] || [ "$respuesta1" = "carpeta" ] || [ "$respuesta1" = ".html" ] || [ "$respuesta1" = "html" ] || [ "$respuesta1" = ".ods" ] || [ "$respuesta1" = "ods" ] || [ "$respuesta1" = ".odt" ] || [ "$respuesta1" = "odt" ] || [ "$respuesta1" = "odg" ] || [ "$respuesta1" = ".odg" ] || [ "$respuesta1" = "odp" ] || [ "$respuesta1" = ".odp" ]
do
clear && echo -n "¿Qué tipo de archivos desea crear? (.txt, .sh, carpeta, .html, .ods, .odt, .odg, .odp): "
read respuesta1
done
case $respuesta1 in
.txt|txt)
until [ "$directorio1" = "Descargas" ] || [ "$directorio1" = "Documentos" ] || [ "$directorio1" = "Escritorio" ] || [ "$directorio1" = "Imágenes" ] || [ "$directorio1" = "Imagenes" ] || [ "$directorio1" = "Música" ] || [ "$directorio1" = "Musica" ] || [ "$directorio1" = "Videos" ] || [ "$directorio1" = "Vídeos" ]
do
clear && echo -n "¿En qué carpeta desea crear los documentos de texto? (Descargas, Documentos, Escritorio, Imágenes, Música, Videos): "
read directorio1
done
case $directorio1 in
Descargas)
clear && cd ~/Descargas;;
Documentos)
clear && cd ~/Documentos;;
Escritorio)
clear && cd ~/Escritorio;;
Imágenes|Imagenes)
clear && cd ~/Imágenes;;
Música|Musica)
clear && cd ~/Música;;
Videos|Vídeos)
clear && cd ~/Vídeos;;
esac
clear && echo -n "¿Cuál quisiera que fuera el nombre principal de su bloque de archivos?: "
read nomprin1
clear && echo -n "¿Desde qué número quisiera usted que se creen los archivos?: "
read inicio1
echo -n "¿Hasta qué número quiere que se creen los archivos?: "
read final1
clear && touch $nomprin1{${inicio1}..${final1}}.txt
esac
#FINMODO1
esac
elif [ "$1" != "-g" ]
then
#MODO NORMAL
until [ "$respuesta" = ".txt" ] || [ "$respuesta" = "txt" ] || [ "$respuesta" = ".sh" ] || [ "$respuesta" = "sh" ] || [ "$respuesta" = "Carpeta" ] || [ "$respuesta" = "carpeta" ] || [ "$respuesta" = ".html" ] || [ "$respuesta" = "html" ] || [ "$respuesta" = ".ods" ] || [ "$respuesta" = "ods" ] || [ "$respuesta" = ".odt" ] || [ "$respuesta" = "odt" ] || [ "$respuesta" = "odg" ] || [ "$respuesta" = ".odg" ] || [ "$respuesta" = "odp" ] || [ "$respuesta" = ".odp" ]
do
clear && echo -n "¿Qué tipo de archivo desea crear? (.txt, .sh, carpeta, .html, .ods, .odt, .odg, .odp): "
read respuesta
done
case $respuesta in
.txt|txt)
until [ "$directorio" = "Descargas" ] || [ "$directorio" = "Documentos" ] || [ "$directorio" = "Escritorio" ] || [ "$directorio" = "Imágenes" ] || [ "$directorio" = "Imagenes" ] || [ "$directorio" = "Música" ] || [ "$directorio" = "Musica" ] || [ "$directorio" = "Videos" ] || [ "$directorio" = "Vídeos" ]
do
clear && echo -n "¿En qué carpeta desea crear el documento de texto? (Descargas, Documentos, Escritorio, Imágenes, Música, Videos): "
read directorio
done
case $directorio in
Descargas)
clear && cd ~/Descargas;;
Documentos)
clear && cd ~/Documentos;;
Escritorio)
clear && cd ~/Escritorio;;
Imágenes|Imagenes)
clear && cd ~/Imágenes;;
Música|Musica)
clear && cd ~/Música;;
Videos|Vídeos)
clear && cd ~/Vídeos;;
esac
echo -n "¿Cómo quisiera llamar el archivo de texto?: "
read nombre
touch "$nombre.txt" && echo "---->El archivo "$nombre.txt" ha sido creado exitosamente (--touch)" && exit
esac
case $respuesta in
.sh|sh)
until [ "$directorio2" = "Descargas" ] || [ "$directorio2" = "Documentos" ] || [ "$directorio2" = "Escritorio" ] || [ "$directorio2" = "Imágenes" ] || [ "$directorio2" = "Imagenes" ] || [ "$directorio2" = "Música" ] || [ "$directorio2" = "Musica" ] || [ "$directorio2" = "Videos" ] || [ "$directorio2" = "Vídeos" ]
do
clear && echo -n "¿En qué carpeta desea crear el script bash (Descargas, Documentos, Escritorio, Imágenes, Música, Videos)?: "
read directorio2
done
case $directorio2 in
Descargas)
clear && cd ~/Descargas;;
Documentos)
clear && cd ~/Documentos;;
Escritorio)
clear && cd ~/Escritorio;;
Imágenes|Imagenes)
clear && cd ~/Imágenes;;
Música)
clear && cd ~/Música;;
Videos|Vídeos)
clear && cd ~/Vídeos;;
esac
echo -n "¿Cómo quisiera llamar el archivo sh?: "
read nombre2
touch "$nombre2.sh"
echo "Introduzca la contraseña para que a '$nombre2.sh' le sean dados permisos de ejecución"
sudo chmod +x "$nombre2.sh" && echo "---->El archivo "$nombre2.sh" ha sido creado exitosamente (-- touch) y se le han dado permisos de ejecución (-- chmod)"
exit
esac
case $respuesta in
carpeta|Carpeta)
until [ "$directorio3" = "Descargas" ] || [ "$directorio3" = "Documentos" ] || [ "$directorio3" = "Escritorio" ] || [ "$directorio3" = "Imágenes" ] || [ "$directorio3" = "Imagenes" ] || [ "$directorio3" = "Música" ] || [ "$directorio3" = "Musica" ] || [ "$directorio3" = "Videos" ] || [ "$directorio3" = "Vídeos" ]
do
clear && echo -n "¿En qué directorio desea crear la carpeta (Descargas, Documentos, Escritorio, Imágenes, Música, Videos)?: "
read directorio3
done
case $directorio3 in
Descargas)
clear && cd ~/Descargas;;
Documentos)
clear && cd ~/Documentos;;
Escritorio)
clear && cd ~/Escritorio;;
Imágenes|Imagenes)
clear && cd ~/Imágenes;;
Música)
clear && cd ~/Música;;
Videos|Vídeos)
clear && cd ~/Vídeos;;
esac
echo -n "Cómo quisiera llamar la carpeta?: "
read nombre3
mkdir "$nombre3" && echo "---->La carpeta $nombre3 ha sido creada exitosamente (-- mkdir)."
exit
esac
case $respuesta in
.html|html)
until [ "$directorio4" = "Descargas" ] || [ "$directorio4" = "Documentos" ] || [ "$directorio4" = "Escritorio" ] || [ "$directorio4" = "Imágenes" ] || [ "$directorio4" = "Imagenes" ] || [ "$directorio4" = "Música" ] || [ "$directorio4" = "Musica" ] || [ "$directorio4" = "Videos" ] || [ "$directorio4" = "Vídeos" ]
do
clear && echo -n "¿En qué directorio desea crear el archivo html (Descargas, Documentos, Escritorio, Imágenes, Música, Videos)?: "
read directorio4
done
case $directorio4 in
Descargas)
clear && cd ~/Descargas;;
Documentos)
clear && cd ~/Documentos;;
Escritorio)
clear && cd ~/Escritorio;;
Imágenes|Imagenes)
clear && cd ~/Imágenes;;
Música)
clear && cd ~/Música;;
Videos|Vídeos)
clear && cd ~/Vídeos;;
esac
echo -n "¿Cómo quisiera llamar el archivo html?"
read nombre4
touch "$nombre4.html" && echo "---->El archivo '$nombre4.html' ha sido creado exitosamente (-- touch)"
exit
esac
case $respuesta in
.ods|ods)
until [ "$directorio5" = "Descargas" ] || [ "$directorio5" = "Documentos" ] || [ "$directorio5" = "Escritorio" ] || [ "$directorio5" = "Imágenes" ] || [ "$directorio5" = "Imagenes" ] || [ "$directorio5" = "Música" ] || [ "$directorio5" = "Musica" ] || [ "$directorio5" = "Videos" ] || [ "$directorio5" = "Vídeos" ]
do
clear && echo -n "¿En qué carpeta desea crear el documento de LibreOffice Calc (Descargas, Documentos, Escritorio, Imágenes, Música, Videos)?: "
read directorio5
done
case $directorio5 in
Descargas)
clear && cd ~/Descargas;;
Documentos)
clear && cd ~/Documentos;;
Escritorio)
clear && cd ~/Escritorio;;
Imágenes|Imagenes)
clear && cd ~/Imágenes;;
Música)
clear && cd ~/Música;;
Videos|Vídeos)
clear && cd ~/Vídeos;;
esac
echo -n "¿Cómo quisiera llamar el archivo de LibreOffice Calc?: "
read nombre5
touch "$nombre5.ods" && echo "---->El archivo '$nombre5.ods' ha sido creado exitosamente (-- touch)"
exit
esac
case $respuesta in
odt|.odt)
until [ "$directorio6" = "Descargas" ] || [ "$directorio6" = "Documentos" ] || [ "$directorio6" = "Escritorio" ] || [ "$directorio6" = "Imágenes" ] || [ "$directorio6" = "Imagenes" ] || [ "$directorio6" = "Música" ] || [ "$directorio6" = "Musica" ] || [ "$directorio6" = "Videos" ] || [ "$directorio6" = "Vídeos" ]
do
clear && echo -n "¿En qué carpeta desea crear el documento de LibreOffice Writer (Descargas, Documentos, Escritorio, Imágenes, Música, Videos)?: "
read directorio6
done
case $directorio6 in
Descargas)
clear && cd ~/Descargas;;
Documentos)
clear && cd ~/Documentos;;
Escritorio)
clear && cd ~/Escritorio;;
Imágenes|Imagenes)
clear && cd ~/Imágenes;;
Música)
clear && cd ~/Música;;
Videos|Vídeos)
clear && cd ~/Vídeos;;
esac
echo -n "¿Cómo quisiera llamar el archivo de LibreOffice Writer?: "
read nombre6
touch "$nombre6.odt" && echo "---->El archivo '$nombre6.odt' ha sido creado exitosamente (-- touch)"
exit
esac
case $respuesta in
odp|.odp)
until [ "$directorio7" = "Descargas" ] || [ "$directorio7" = "Documentos" ] || [ "$directorio7" = "Escritorio" ] || [ "$directorio7" = "Imágenes" ] || [ "$directorio7" = "Imagenes" ] || [ "$directorio7" = "Música" ] || [ "$directorio7" = "Musica" ] || [ "$directorio7" = "Videos" ] || [ "$directorio7" = "Vídeos" ]
do
clear && echo -n "¿En qué carpeta desea crear el documento de LibreOffice Impress (Descargas, Documentos, Escritorio, Imágenes, Música, Videos)?: "
read directorio7
done
case $directorio7 in
Descargas)
clear && cd ~/Descargas;;
Documentos)
clear && cd ~/Documentos;;
Escritorio)
clear && cd ~/Escritorio;;
Imágenes|Imagenes)
clear && cd ~/Imágenes;;
Música)
clear && cd ~/Música;;
Videos|Vídeos)
clear && cd ~/Vídeos;;
esac
echo -n "Cómo quisiera llamar el archivo de LibreOffice Impress?: "
read nombre7
touch "$nombre7.odp" && echo "---->El archivo '$nombre7.odp' ha sido creado exitosamente (-- touch)."
exit
esac
case $respuesta in
odg|.odg)
until [ "$directorio8" = "Descargas" ] || [ "$directorio8" = "Documentos" ] || [ "$directorio8" = "Escritorio" ] || [ "$directorio8" = "Imágenes" ] || [ "$directorio8" = "Imagenes" ] || [ "$directorio8" = "Música" ] || [ "$directorio8" = "Musica" ] || [ "$directorio8" = "Videos" ] || [ "$directorio8" = "Vídeos" ]
do
clear && echo -n "¿En qué carpeta desea crear el documento de LibreOffice Draw (Descargas, Documentos, Escritorio, Imágenes, Música, Videos)?: "
read directorio8
done
case $directorio8 in
Descargas)
clear && cd ~/Descargas;;
Documentos)
clear && cd ~/Documentos;;
Escritorio)
clear && cd ~/Escritorio;;
Imágenes|Imagenes)
clear && cd ~/Imágenes;;
Música)
clear && cd ~/Música;;
Videos|Vídeos)
clear && cd ~/Vídeos;;
esac
echo -n "¿Cómo quisiera llamar el archivo de LibreOffice Draw?: "
read nombre8
touch "$nombre8.odg" && echo "---->El archivo '$nombre8.odg' ha sido creado exitosamente (-- touch)."
exit
esac
fi
fi
Responder Citando
  #2  
Antiguo 25-mar-2013, 22:58
Avatar de victorhck
victorhck victorhck está desconectado
Moderador
 
Fecha de Ingreso: 08-abril-2010
Ubicación: /HOME
Versión: Tumbleweed y Leap + KDE
Mensajes: 3.672
Agradecimientos: 330
Agradecido 1.185 Veces en 765 Mensajes
Poder de Credibilidad: 12
victorhck está en el buen camino
Hola!

Como eres nuevo en el foro, pasa por la sección de presentaciones, y no olvides leer las normas del foro.

Te recomendaría antes de implementar ese código entero, tratar de depurar la parte que te falla, y una vez que lo tengas, ya irle dando los añadidos que creas conveniente.
Es decir trabajar con algo más reducido, hasta que te funcione la parte que quieres, y después ampliarlo a tus necesidades.

Saludos.
__________________


Guía básica de openSUSE Leap para recién llegados a GNU/Linux.
→ Mi blog sobre openSUSE, GNU/Linux, software libre ...y de todo un poco: Victorhck in the free world
→ Me puedes seguir en: Mastodon - diaspora* - PixelFed
Responder Citando
  #3  
Antiguo 26-mar-2013, 09:49
Avatar de xisco
xisco xisco está desconectado
Miembro FOROSuSE
 
Fecha de Ingreso: 23-marzo-2006
Ubicación: Sector Horchata
Versión: La ultima estable
Mensajes: 1.699
Agradecimientos: 29
Agradecido 163 Veces en 133 Mensajes
Poder de Credibilidad: 14
xisco está en el buen camino
hola,
yo solo uso scripts a temporada y tengo que buscar en google para acordarme
pero y si cambias tu linea
touch $nomprin1{${inicio1}..${final1}}.txt
por algo como esto (no he probado el codigo igual esta mal pero es para que te hagas una idea):
for i in {$inicio1..$final1}
do
touch $nomprin1{$i}.txt
done
me he basado en esta pagina
http://www.cyberciti.biz/faq/bash-for-loop/

Salu2
Responder Citando
  #4  
Antiguo 26-mar-2013, 19:17
asero12 asero12 está desconectado
Aforado
 
Fecha de Ingreso: 25-marzo-2013
Versión: 12.3
Mensajes: 23
Agradecimientos: 6
Agradecido 0 Veces en 0 Mensajes
Poder de Credibilidad: 0
asero12 está en el buen camino
Cita:
Iniciado por xisco Ver Mensaje
hola,
yo solo uso scripts a temporada y tengo que buscar en google para acordarme
pero y si cambias tu linea
touch $nomprin1{${inicio1}..${final1}}.txt
por algo como esto (no he probado el codigo igual esta mal pero es para que te hagas una idea):
for i in {$inicio1..$final1}
do
touch $nomprin1{$i}.txt
done
me he basado en esta pagina
http://www.cyberciti.biz/faq/bash-for-loop/

Salu2
Pues habrá que tratar algo con el ciclo for, sino que para ser honesto, este tipo de ciclo no lo he entendido , he podido usar until, while... pero for no; es decir, sé que se usa para repetir un bloque de comandos hasta que una sentencia sea falsa, pero nunca he entendido cómo aplicarlo, ni tampoco he entendido bien su estructura.

bueno, igual voy a probar, practicando se aprende.

igual si alguien pudiera aclararme un poco las dudas sobre "for", le estaría bastante agradecido.
Responder Citando
  #5  
Antiguo 27-mar-2013, 12:54
Avatar de DiabloRojo
DiabloRojo DiabloRojo está desconectado
Super Moderador
 
Fecha de Ingreso: 19-marzo-2005
Ubicación: En un lugar del planeta Tierra
Versión: La ultima estable
Mensajes: 16.978
Agradecimientos: 633
Agradecido 2.700 Veces en 1.837 Mensajes
Poder de Credibilidad: 10
DiabloRojo llegará a ser famoso muy pronto
Nos vamos a la seccion de Programacion y scripts. Para empezar tu script es largo largo.... y no muy legible. Si puedes ponlo en http://pastebin.com/ con "Syntax Highlighting¨ = Bash para que podamos leerla mejor.
__________________
NORMAS A CUMPLIR EN LOS FOROS (Lectura obligatoria) Lo siento, no contesto privados sobre problemas con GNU/Linux.
Síguenos en TWITTER y en FACEBOOK
Código:
Buscador de   Alojamiento      Alojamiento     Otros
 paquetes:    de imágenes:     de ficheros:    buscadores:
Search        TinyPic          Ifile Wuala     Simple y Facil
Webpinstant   Paste Suse       SendSpace       TextSnip  Cl1p
Responder Citando
Pastebin
  #6  
Antiguo 27-mar-2013, 21:50
asero12 asero12 está desconectado
Aforado
 
Fecha de Ingreso: 25-marzo-2013
Versión: 12.3
Mensajes: 23
Agradecimientos: 6
Agradecido 0 Veces en 0 Mensajes
Poder de Credibilidad: 0
asero12 está en el buen camino
Pastebin

Cita:
Iniciado por DiabloRojo Ver Mensaje
Nos vamos a la seccion de Programacion y scripts. Para empezar tu script es largo largo.... y no muy legible. Si puedes ponlo en http://pastebin.com/ con "Syntax Highlighting¨ = Bash para que podamos leerla mejor.
Ya lo he puesto en pastebin: http://pastebin.com/2ctY7fxC

el modo normal (sólo crea un archivo) se usa sin darle opciones, al ponerle -g es que entra en el modo de creación de varias carpetas.
Responder Citando
  #7  
Antiguo 27-mar-2013, 22:47
Avatar de DiabloRojo
DiabloRojo DiabloRojo está desconectado
Super Moderador
 
Fecha de Ingreso: 19-marzo-2005
Ubicación: En un lugar del planeta Tierra
Versión: La ultima estable
Mensajes: 16.978
Agradecimientos: 633
Agradecido 2.700 Veces en 1.837 Mensajes
Poder de Credibilidad: 10
DiabloRojo llegará a ser famoso muy pronto
Se me ha olvidado decirte que tu codigo esta repetido, prueba utilizar funciones para crear las carpetas y archivos.

Este es el script para lo que pides, copia y pega:
Código PHP:
#!/bin/bash
nombre="borrar"
echo "Dame el primer numero"
read inicio
echo "Dame el 2º numero"
read final
if [ 
$inicio -ge $final ]; then
   
echo "El 1er numero mayor que el 2º!, nos vamos fuera"
   
exit 1
fi
for i in $(seq $inicio $final); 
do 
   
fichero=""
   
fichero=$nombre$i
   touch $fichero
done 
__________________
NORMAS A CUMPLIR EN LOS FOROS (Lectura obligatoria) Lo siento, no contesto privados sobre problemas con GNU/Linux.
Síguenos en TWITTER y en FACEBOOK
Código:
Buscador de   Alojamiento      Alojamiento     Otros
 paquetes:    de imágenes:     de ficheros:    buscadores:
Search        TinyPic          Ifile Wuala     Simple y Facil
Webpinstant   Paste Suse       SendSpace       TextSnip  Cl1p
Responder Citando
El Siguiente Usuario Ha Dado las Gracias a DiabloRojo Por Este Mensaje:
asero12 (28-mar-2013)
  #8  
Antiguo 28-mar-2013, 00:03
asero12 asero12 está desconectado
Aforado
 
Fecha de Ingreso: 25-marzo-2013
Versión: 12.3
Mensajes: 23
Agradecimientos: 6
Agradecido 0 Veces en 0 Mensajes
Poder de Credibilidad: 0
asero12 está en el buen camino
Cita:
Iniciado por DiabloRojo Ver Mensaje
Se me ha olvidado decirte que tu codigo esta repetido, prueba utilizar funciones para crear las carpetas y archivos.

Este es el script para lo que pides, copia y pega:
Código PHP:
#!/bin/bash
nombre="borrar"
echo "Dame el primer numero"
read inicio
echo "Dame el 2º numero"
read final
if [ 
$inicio -ge $final ]; then
   
echo "El 1er numero mayor que el 2º!, nos vamos fuera"
   
exit 1
fi
for i in $(seq $inicio $final); 
do 
   
fichero=""
   
fichero=$nombre$i
   touch $fichero
done 
Gracias loco, a ver si ya puedo acabar el script; también tengo que quitar el código repetido.


Responder Citando
  #9  
Antiguo 24-may-2014, 18:26
JuanCarlos_7 JuanCarlos_7 está desconectado
Aforado
 
Fecha de Ingreso: 24-mayo-2014
Versión: 13.2
Mensajes: 1
Agradecimientos: 0
Agradecido 0 Veces en 0 Mensajes
Poder de Credibilidad: 0
JuanCarlos_7 está en el buen camino
Una disculpa me podria ayudar con este ejercicio soy nuevo en linux y no tengo ni idea de como empezar agradeceria mucha su ayuda

El o los scripts desarrollados en Linux deberán ejecutar los siguientes requerimientos.
1. Crear una estructura de directorios que conste de un directorio padre y entre 6 a 10 directorios hijo. Asignar todos los permisos al creador y solo de lectura y ejecución a los demás usuarios (rwxr-xr-x) a todos y cada uno de los directorios.

2. En cada directorio hijo se deberán crear de 5 a 7 archivos de texto no vacios. El formato para nombrar los archivos puede ser para el primer directorio hijo arch11.fecha, arch12.fecha, arch13.fecha, etc. Para el segundo directorio hijo sería arch21.fecha, arch22.fecha, arch23.fecha, etc. Así sucesivamente para los demás directorios hijo.
3. La variable fecha que va en todos los nombres de archivos deberá contener la fecha del día en formato ddmmyy (dd=día, mm=mes, yy=año).

4. En otro script o en el mismo pedir al usuario que introduzca una fecha ddmmyy (dd=día, mm=mes, yy=año) para la cual se desea borrar archivos que se encuentren en cualquiera de los directorios hijo con esa fecha. La fecha que se introduzca no necesariamente tiene que ser la fecha en que se corre el script.

5. Por último, obtener un listado de los archivos que permanecen en todos los directorios hijos y enviar dicha información tanto a un archivo de salida. El nombre del archivo de salida deberá ser listado.fecha, en este caso la fecha es del día en que se está corriendo el script, listado.ddmmyy y deberá quedar en el directorio padre.
Responder Citando
  #10  
Antiguo 24-may-2014, 19:33
Avatar de victorhck
victorhck victorhck está desconectado
Moderador
 
Fecha de Ingreso: 08-abril-2010
Ubicación: /HOME
Versión: Tumbleweed y Leap + KDE
Mensajes: 3.672
Agradecimientos: 330
Agradecido 1.185 Veces en 765 Mensajes
Poder de Credibilidad: 12
victorhck está en el buen camino
Hola JuanCarlos_7

Lo primero como eres nuevo en el foro pasa por la sección de presentaciones y lee las normas de obligado cumplimiento.
No desvirtues un post con otra pregunta que nada tiene que ver con el tema que se trata en el hilo.
Y no vamos a picar tu código, eso te compete a ti, aqui se te podría ayudar con algo que tu tengas ya hecho o algo que no entiendas...

Por la red hay abundante información, que te ayudarán a resolver esos problemas que están hechos para que aprendas por ti mismo, no para pedir que te los hagan en un foro.

No se trata de saber más o menos de GNU/Linux, es simple programación de scripts, si estás estudiando eso, te recomiendo que repases la materia!!

Salud!!
__________________


Guía básica de openSUSE Leap para recién llegados a GNU/Linux.
→ Mi blog sobre openSUSE, GNU/Linux, software libre ...y de todo un poco: Victorhck in the free world
→ Me puedes seguir en: Mastodon - diaspora* - PixelFed
Responder Citando
Respuesta

Marcadores

Etiquetas
bash, carpetas, creación, script


(0 miembros y 1 visitantes)
 
Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Instalación de Java(JDK,JRE), MySQL, Apache(Httpd, Tomcat), JPS, PHP, para MOODLE joseluisbz Software 7 06-nov-2012 23:53
Problemas con Yast2 e instalacion de paquetes en opensuse 11.3 ejdvc656 General OpenSUSE 28 01-oct-2010 02:40
Carta Pública para DiabloRojo: Indignación iSVQ La cafetería 24 24-nov-2009 08:57
script simple para eliminar archivos [SOLUCIONADO] Juan Carlos Programación y Scripts 3 18-mar-2008 11:03
Crear script de inicio para "pureftpd" criosg General OpenSUSE 1 30-abr-2005 19:12



Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook


La franja horaria es GMT +2. Ahora son las 21:00.
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.

Esta página está bajo una licencia de Creative Commons, salvo que no se indique lo contrario.
Creative Commons License

Valid CSS!

Diseño por:Designed by: vbdesigns.devbdesigns.de 
Contáctenos - ForoSUSE - Archivo - Declaración de Privacidad - Arriba