• Inicio
  • Buscar
  • Ingresar
  • Registrarse

    Starfield: el juego que revolucionará el espacio y la tecnología

    • Hack x Crack - Comunidad de Seguridad informática »
    • Programación »
    • Scripting »
    • Dilema con Script Shell | Espacios en blanco en nombre de archivos
    • Imprimir
    Páginas: [1]   Ir Abajo

    Autor Tema: Dilema con Script Shell | Espacios en blanco en nombre de archivos  (Leído 11888 veces)

    Desconectado Khrizs3422

    • { L0 } Ñuub
    • Mensajes: 23
    • Estudiando y Aprendiendo
      • Ver Perfil
    Dilema con Script Shell | Espacios en blanco en nombre de archivos
    « en: Junio 30, 2017, 04:40:26 am »
    Señores, intrusiando y aprendiendo a hacer script quice hacerme mas facil descargar Musica desde youtube y me hice este Script:
    es totalmente funcional para lo que yo quería, pero me surgió una duda y estoy quieriendo resolverla pero no he podido.

    read -p 'TITULO MP3 ( baile-del-peluche.mp3): ' nombre
    esta linea permite poner un nombre al tema descargado, con el que se guardará en la carpeta destino.


    youtube-dl -x --audio-format mp3 $fuente -o $nombre esta linea es lo que sale para que comience a correr el script y a descargar el tema importado desde el url de youtube

    sin embargo para que funcione correctamente el $nombre no debe tener espacios es decir el codigo para ser corrible debe ser así

    Bien
    youtube-dl -x --audio-format mp3  http://youtube.com/link  -o  nombre_del_tema.mp3

    Mal
    youtube-dl -x --audio-format mp3  http://youtube.com/link  -o  nombre del tema.mp3


    pero ahora no se como hacerlo si en la linea

    read -p 'TITULO MP3 ( baile-del-peluche.mp3): ' nombre
    escribo escribo en la consola con espacios por ejemplo nombre del tema.mp3 el script no corre y esa es mi duda. como hago que $nombre no tenga espacios aunque al escribir en el terminal lo haga con espacios.


    les dejo parte del codigo para que lo revicen y puedan ayudarme.
    saludos

    Código: Bash
    1. function Descarga {
    2.    read -p 'INTRODUCE LINK DE YOUTUBE: ' fuente
    3.    read -p 'TITULO MP3 ( baile-del-peluche.mp3): ' nombre  #con este nombre se guarda el archivo
    4.    
    5.    }
    6.  
    7.  
    8. while true
    9. do
    10.    
    11.    Descarga
    12.  
    13.    youtube-dl -x --audio-format mp3 $fuente -o $nombre
    14. echo ""
    15. echo ""
    16. echo -e '\e[0;33m DESCARGA TERMINADA- INTRODUCE OTRO ZELDA O CIERRA LA VENTANA\e[0m';
    17. done



    Saludos
    « Última modificación: Junio 30, 2017, 05:15:13 am por Khrizs3422 »
    En línea

    Desconectado Khrizs3422

    • { L0 } Ñuub
    • Mensajes: 23
    • Estudiando y Aprendiendo
      • Ver Perfil
    Re:Dilema con Script Shell | Espacios en blanco en nombre de archivos
    « Respuesta #1 en: Junio 30, 2017, 11:38:38 pm »
    39 vistas y ninguna respuesta. al final lo resolví
    por si alguien alguna vez tiene este dilema usé lógica.
    No supe como hacer para que reemplaze los espacios por _
    pero si pude renombrar el fichero que sale del script.

    todos los temas descargados por defecto ahora descargaran con el nombre youtube.mp3

    así que agregué una linea MV que reemplaza o sobrescribe un fichero asi que quedó

    mv youtube.mp3 "$nombre.mp3"

    de esta forma puedo poner el nombre del artista y tema y se guardará siempre en mp3.

    solo fue tema de usar un lógica y el comando MV
    En línea

    Desconectado ravenheart

    • { L7 } Juanker
    • *******
    • Mensajes: 1359
    • Todos mis mensajes están bajo la licencia WTFPL v2
      • Ver Perfil
    Re:Dilema con Script Shell | Espacios en blanco en nombre de archivos
    « Respuesta #2 en: Julio 02, 2017, 04:03:02 pm »
    Para pasar a cualquier aplicación un argumento separado por espacios, hay que meterlo entre comillas dobles.
    youtube-dl -x --audio-format mp3  http://youtube.com/link  -o  "nombre del tema.mp3"
    En línea
    You do not need hope if you have drama to back you up.

    Desconectado animanegra

    • { L7 } Juanker
    • *******
    • Mensajes: 1293
      • Ver Perfil
      • Basura a ver si google lo indexa
    Re:Dilema con Script Shell | Espacios en blanco en nombre de archivos
    « Respuesta #3 en: Julio 03, 2017, 09:16:19 am »
    De hecho tanto en windows como en linux, si pulsas el tabulador haciendo un dir y poniendo la primera parte del nombre del archivo el propio autocompletar te lo autocompleta con comillas en el caso de windows y con una contrabarra antes de cada espacio \  en el caso de linux. De ahí podías obtener la idea de como escapar los espacios. Aunque en todas las plataformas el uso de comillas como argumento con espacios esta permitido.
    En línea

    Errante

    Desconectado Khrizs3422

    • { L0 } Ñuub
    • Mensajes: 23
    • Estudiando y Aprendiendo
      • Ver Perfil
    Re:Dilema con Script Shell | Espacios en blanco en nombre de archivos
    « Respuesta #4 en: Julio 04, 2017, 03:02:57 am »
    Cita de: ravenheart en Julio 02, 2017, 04:03:02 pm
    Para pasar a cualquier aplicación un argumento separado por espacios, hay que meterlo entre comillas dobles.
    youtube-dl -x --audio-format mp3  http://youtube.com/link  -o  "nombre del tema.mp3"

    Eso lo tengo claro. Pero como decia en la pregunta, lo que no podía hacer era que de read pasara directo a la linea youtbe-dl sin comillas ya que youtube-dl no acepta " " ENTRE SU LINEA
    pero como dije después, me auto respondí con una noche de pensar y pensar y us{e la lógica.
    Solo agregué una liena con la función MV
    En línea

    Desconectado roundcubesix

    • { L0 } Ñuub
    • Mensajes: 1
      • Ver Perfil
    Re:Dilema con Script Shell | Espacios en blanco en nombre de archivos
    « Respuesta #5 en: Septiembre 12, 2020, 09:09:39 am »
    youtube-dl --ignore-errors --format bestaudio --extract-audio --audio-format mp3 --audio-quality 160K --output "%(title)s.%(ext)s" --yes-playlist '<YouTube playlist URL>'
    En línea
    shareit app

    Desconectado gorbavid

    • { L0 } Ñuub
    • Mensajes: 1
      • Ver Perfil
    Re:Dilema con Script Shell | Espacios en blanco en nombre de archivos
    « Respuesta #6 en: Marzo 03, 2022, 07:58:18 am »
    ¿Por qué mi script de shell se ahoga con espacios en blanco u otros caracteres especiales?
    En línea

    • Imprimir
    Páginas: [1]   Ir Arriba
    • Hack x Crack - Comunidad de Seguridad informática »
    • Programación »
    • Scripting »
    • Dilema con Script Shell | Espacios en blanco en nombre de archivos
     

    • SMF | SMF © 2013, Simple Machines
    • XHTML
    • RSS
    • WAP2
    Va un mudo y le dice a un sordo: Hack x Crack usa cookies. Pues eso... Learn more