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
- Gran Almacenaje Backends en Clusters Linux.
- La Instalación Perfecta para CentOS 4.5
- Extremadura decide promocionar el software libre entre el sector tecnológico
- II WhyFloss Conference - Madrid - 6 de JULIO
- Programar en Linux para la PS3 tiene premio.
- Instalando Google Desktop en Linux (PCLinuxOS 2007) y Ubuntu Feisty Fawn.
- Los autores de la GPLv3 son una panda de hipócritas
- ¿Porqué es difícil recuperar un fichero borrado en EXT3?
- Programa Administrador del Inicio de Linux ''Init Manager''.
- ¿ Son los LUG cosas del pasado ?
- Inicio dual entre Windows XP/Vista y Ubuntu Linux
- k3b 1.0.3