LinuxParty
Hay veces, que los administradores de Linux, los programadores, los editores de contenido, como pueden ser editores de imágenes o vídeos... necesitan trabajar con muchos ficheros... Cuando se trata de muchos ficheros, es mejor trabajar con ficheros que no tengan espacios ni caractereres extraños, porque es mejor para buscarlos, para copiarlos o moverlos a algún sitio.
Esto me llevó a hacer un script para poder trabajar con un script que no necesitara muchos interactuaciones para que funcionara bien. Por lo que el script hace un trabajo muy sencillo, le introduces el el nombre del fichero, y directamente te lo devuelve en el mismo directorio sin los caracteres extraños.
Vamos a proceder a poner el código fuente del script para que puedas verlo, después lo puedes colocar en:
/usr/local/bin
o
$HOME/bin
(tal vez tengas que crear el directorio bin
, para tal proceso)
Nombre del script: renombraquitandoespacios.sh
#!/bin/bash
# Nombre del script: renombraquitandoespacios.sh
# Obtenemos en la "$Entrada" el nombre del fichero a procesar Entrada="$1" echo " Entrada: -> $Entrada" # C AM B IA M O S espacio por - puntos por - ( por - ) por - [ por - ] por - Pre0=`echo "$Entrada" | sed s/' '/'-'/g | sed s/'\.'/'-'/g | sed s/'('/'-'/g | sed s/')'/'-'/g | sed s/'\['/'-'/g | sed s/'\]'/'-'/g` # Caracteres raros por elementos vacío. Pre1=`echo "$Pre0" | sed s/'!'/''/g | sed s/'¡'/''/g | sed s/'?'/''/g | sed s/'¿'/''/g | sed s/','/''/g | sed s/'='/'-'/g | sed s/"'"/""/g` # En PreSalida, debe estar la última entrada de "PreX", sea Pre0, Pre1, Pre2... PreSalida=$Pre1 # Comprobamos que el primer caracter no sea "-", y si lo es, lo eliminamos. firstchar=$(expr substr $PreSalida 1 1) if [ "$firstchar" == "-" ] ; then echo "Primer caracter:" $firstchar PreSalida=`echo $PreSalida | sed -e 's/^-/./'` fi # Sustituimos: -mp4 por .mp4 -mkv por .mkv -avi por .avi SalidaOK0=`echo "$PreSalida" | sed s/'-mp4'/'.mp4'/g | sed s/'-mkv'/'.mkv'/g | sed s/'-avi'/'.avi'/g` SalidaOK1=`echo "$SalidaOK0" | sed s/'-jpg'/'.jpg'/g | sed s/'-png'/'.png'/g | sed s/'-ico'/'.ico'/g` SalidaOK2=`echo "$SalidaOK1" | sed s/'-docx'/'.docx'/g | sed s/'-xlsx'/'.xlsx'/g | sed s/'-dbx'/'.dbx'/g` SalidaOK3=`echo "$SalidaOK2" | sed s/'-doc'/'.doc'/g | sed s/'-xls'/'.xls'/g | sed s/'-txt'/'.txt'/g` SalidaOK4=`echo "$SalidaOK3" | sed s/'-conf'/'.conf'/g | sed s/'-txt'/'.txt'/g | sed s/'-sh'/'.sh'/g` SalidaOK5=`echo "$SalidaOK4" | sed s/'-webm'/'.webm'/g | sed s/'-svg'/'.svg'/g | sed s/'-cpp'/'.cpp'/g` SalidaOK6=`echo "$SalidaOK5" | sed s/'-mpg'/'.mpg'/g | sed s/'-wmv'/'.wmv'/g | sed s/'-gif'/'.gif'/g` # Añada como Salida, la última entrada de "SalidaOK(X)" Salida=$SalidaOK6 echo "Salida: -> $Salida" mv -v "$Entrada" "$Salida"
El funcionamiento sería el siguiente:
[javier@localhost dwhelper]$ renombraquitandoespacios.sh \'Horizonte\'\ \(16062022\)\,\ completo\ y\ en\ HD.mp4
Entrada: -> 'Horizonte' (16062022), completo y en HD.mp4
Salida: -> Horizonte--16062022--completo-y-en-HD.mp4
renamed ''\''Horizonte'\'' (16062022), completo y en HD.mp4' -> 'Horizonte--16062022--completo-y-en-HD.mp4'

-
Linux
- Ejecutar Aplicaciones Gráficas Remotas en Local: Guía Completa en Linux
- Montar un directorio remoto, vía NFS, en Linux
- Linux 6.14 ya disponible: Mayor compatibilidad con Windows, Mejoras en gaming, IA y rendimiento para AMD e Intel"
- Zorin OS 17.3, basado en Ubuntu, ya está disponible para usuarios de Windows 10.
- La distribución de Linux KaOS 2025.03 se lanzó con KDE Plasma 6.3 y Linux Kernel 6.13
- Compartir archivos en la red LAN, sin nada, todo con un simple script en Python
- Free10: La mejor alternativa gratuita a Windows 10 basada en Linux
- ¿Se toma en serio la privacidad en línea? Este sistema operativo Linux "en vivo" es para usted
- Linux supera el 5% de cuota de mercado según PornHub: Un crecimiento del 41% en 2024
- Linux 6.14 permite que algunos sistemas suspendan y reanuden más rápidamente
- Cómo mantener Linux optimizado (y ahorrar tiempo) con Stacer
- Cambiar la Hora y la Fecha al sistema Linux
- Predicciones de Linux para 2025
- Elementary OS 8: una distribución de Linux para usuarios de Windows y macOS
- Renombrar multiples archivos masivamente en Linux (quitar espacios, cambiar mayúsculas) a la vez en Linux