Duda con Script Shell | eliminar espacios en blanco

Tema en 'Programación & Programación Web' iniciado por khrizs, 29 Jun 2017.

  1. khrizs

    khrizs Usuario Casual nvl. 2
    37/41

    Registrado:
    1 Feb 2012
    Mensajes:
    3.181
    Me Gusta recibidos:
    56
    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 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

    Insertar CODE, HTML o PHP:
    function Descarga {
       read -p 'INTRODUCE LINK DE YOUTUBE: ' fuente
       read -p 'TITULO MP3 ( baile-del-peluche.mp3): ' nombre  #con este nombre se guarda el archivo
      
       }
    
    
    while true
    do
      
       Descarga
    
       youtube-dl -x --audio-format mp3 $fuente -o $nombre
    echo ""
    echo ""
    echo -e '\e[0;33m DESCARGA TERMINADA- INTRODUCE OTRO ZELDA O CIERRA LA VENTANA\e[0m';
    done
    Saludos
     
  2. Mandr4k3

    Mandr4k3 Usuario Casual nvl. 2
    37/41

    Registrado:
    8 Jun 2006
    Mensajes:
    2.845
    Me Gusta recibidos:
    8
    Parece que ya lo solucionaste.

    Pero aquí un par de tips:

    1. Quitar espacios en blanco dentro de un fichero:
    cat archivo.txt | tr -d " \t\n\r"
    2. Quitar espacios en blanco de una linea en bash:
    echo "${mivariable}" | sed -e 's/^[ \t]*//'

    Saludos,
     
  3. khrizs

    khrizs Usuario Casual nvl. 2
    47/82

    Registrado:
    1 Feb 2012
    Mensajes:
    3.181
    Me Gusta recibidos:
    56
    Gracias voy a anotarlo para no olvidarme.
    Saludos