How to: reemplazar los espacios de los nombres de archivo por guiones bajos

Shell Linux

En los entornos Unix se trabaja bastante con el intérprete de comandos, de hecho, muchos sistemas no tienen ni un entorno de escritorio instalado. Por tanto, en Linux también se suele trabajar bastante desde el terminal. Cuando se trabaja con nombres de ficheros y directorios a veces es complicado cuando éstos tienen espacios en sus nombres. Sabiendo cómo saltar estos problemillas no habría problema, pero es cierto que es más cómodo cuando no tienen esos espacios…

Si no sabes cómo usar nombres con espacios desde el terminal o si quieres eliminar estos espacios de forma fácil, en este artículo aprenderás todo lo necesario para que la experiencia de usuario sea lo más cómoda cuando trabajes en el día a día en GNU/Linux. A partir de ahora, los espacios de los nombres no supondrán un obstáculo para ti…

Cómo trabajar con espacios

espacios nombres Linux

Trabajar con espacios en nombres es sencillo, así que primero voy a mostrar cómo se pueden usar directorios o ficheros con espacios en sus nombres. Así, todos aquellos que tienen problemas con esto podrán aprender a usarlo y perderán el miedo a toparse con nombres con espacios.

  • Para indicar que existe un espacio en el nombre, puedes usar el slash o barra invertida, es decir, \. Por ejemplo, si el nombre que estás intentando escribir es el que ves en la imagen “RISC-V docs”, puedes escribir “RISC-V\ docs” (sin comillas). De esta forma le estarás indicando a Bash que se trata de un espacio y no que has introducido varios parámetros para ese comando separados por un espacio.
  • También puedes usar las comillas dobles “” para encerrar el nombre con espacios, indicando al shell que no son parámetros separados, sino que es un mismo nombre. Por ejemplo, en el ejemplo anterior con cd, si quisieras ir a dicho directorio con espacios podrías usar:

cd "RISC-V docs"

  • Otro truco es comenzar a escribir las primeras letras del nombre y pulsar la tecla Tabulador (la que hay justo por encima de Bloq Mayúsculas). De esa forma se autocompleta el nombre. Esto no funcionará si existen varios nombres que empiecen igual, por ejemplo, si existe un “RISC-V docs” y un “RISC-V isa” no serviría. Sí que funcionaría en el caso de haber un “RISC-V docs” y “RISC-I docs”, puesto que en cuanto introduzcas el carácter I sabrá el nombre del que se trata…

Ahora bien, esto puede que no te resulte práctico o simplemente no te guste tener que estar haciendo esto cada vez que trabajes con espacios. Por eso, si quieres eliminarlos, puedes leer el siguiente apartado…

Cómo reemplazar los espacios

sustituir espacios por guiones bajos Linux

Es cierto que para los entornos gráficos, los nombres con espacios son más cómodos y agradables para nombrar archivos. Pero no es tan práctico para el terminal. Por eso, si no quieres seguir los pasos del apartado anterior y quieres deshacerte de una vez por todas de los dichosos espacios, puedes seguir estos pasos:

  • Ve al directorio donde se encuentren los nombres con espacios que quieras sustituir por cualquier carácter. En este caso he usado un guión bajo, pero puedes sustituir ese símbolo por cualquier otro, solo tienes que modificar el comando.
  • Una vez dentro del directorio, puedes usar este comando que cambiará todos los espacios de nombres por _. Ten cuidado, porque si hay nombres en los que quieras conservar los espacios debes considerar que esta orden los cambiará todos:

for file in *; do mv "$file" `echo $file | tr ' ' '_'`; done

  • Para ir uno a uno, aunque esto no sea práctico, puedes usar el siguiente comando en los casos en los que solo quieras sustituir los espacios para un solo nombre y no para todos de forma automática:

mv nombre\ con\ espacios nombre_sin_espacios

  • Otra opción es usar un script que puedas invocar cada vez que quieras sustituir los espacios por guiones bajos. Así lo podrás ejecutar en cualquier directorio sin necesidad de escribir la orden cada vez que la necesites. Para eso tienes que usar tu editor de texto favorito y crear un fichero llamado, por ejemplo, spaceskiller.sh, guardar el contenido, darle permisos de ejecución, e introducirlo en una ruta de las que hay en la variable de entorno $PATH (p.e.: /usr/bin) y así solo deberás invocar su nombre, sin necesidad de indicar la ruta donde está el .sh. Vale, una vez dicho esto, el contenido del script sería el siguiente:
<pre>#!/bin/bash

for f in *
do
  new="${f// /_}"
  if [ "$new" != "$f" ]
  then
    if [ -e "$new" ]
    then
      echo no se renombró \""$f"\" porque \""$new"\" ya existe
    else
      echo renombrando "$f" a "$new"
    mv "$f" "$new"
  fi
fi
done</pre>

Si has optado por el script y lo has introducido en alguno de los directorios de $PATH, cada vez que estés dentro de un directorio y quieras sustituir los espacios por guiones bajos (o cualquier otro carácter si lo modificas), solo tendrás que ejecutar:


./spaceskiller.sh

Espero haberte ayudado con este tutorial, puedes dejar tus comentarios con cualquier duda o aportación…

from Linux Adictos https://ift.tt/2mHEOnp
via IFTTT

Estos son todos los dispositivos que podrán descargar MIUI 11

Xiaomi ha presentado hoy MIUI 11, la nueva versión de su capa de personalización que viene cargada de novedades que, este año, van destinadas a convertirla en una capa aún más minimalista y productiva para los usuarios, algo que, personalmente, me ha parecido muy acertado. Te recomendamos | Xiaomi Mi 9 Pro 5G: así es lo mejor de lo mejor de la gama alta de Xiaomi Como suele pasar todos

Entra en Andro4all para leer el artículo completo

Puedes unirte a nosotros en Twitter, Facebook o en Google+

¡Suscríbete a nuestro canal de YouTube!

Publicado recientemente en Andro4all

from Andro4all https://ift.tt/2kKctw7
via IFTTT

Google vuelve a regalar un Home Mini a los usuarios de Google One: así puedes conseguirlo gratis

En junio de este año, Google nos sorprendía con una promoción a través de la cual decidió regalar un altavoz inteligente Google Home Mini a los usuarios de Google One, el servicio de suscripción que ofrece almacenamiento en la nube a través de plataformas como Google Drive o Fotos. Pero si eres de los pocos que no llegó a tiempo a conseguir tu altavoz totalmente gratis, te alegrará saber que

Entra en Andro4all para leer el artículo completo

Puedes unirte a nosotros en Twitter, Facebook o en Google+

¡Suscríbete a nuestro canal de YouTube!

Publicado recientemente en Andro4all

from Andro4all https://ift.tt/2mjNJeD
via IFTTT

Mi Watch: Xiaomi estaría trabajando en su primer reloj con Wear OS

Xiaomi se ha convertido en una de las compañías más importantes a nivel mundial en el segmento de los wearables, gracias a dispositivos como los de la serie Mi Smart Band y los modelos bajo la marca Amazfit. Los relojes inteligentes de la compañía están entre los más populares del mercado, en parte por su fantástica relación calidad-precio. Desde el primero de sus modelos, Xiaomi ha apostado por un software

Entra en Andro4all para leer el artículo completo

Puedes unirte a nosotros en Twitter, Facebook o en Google+

¡Suscríbete a nuestro canal de YouTube!

Publicado recientemente en Andro4all

from Andro4all https://ift.tt/2meKaq5
via IFTTT