Una forma rápida de usar Bash para cambiar el nombre de los archivos de una extensión específica a otra. Usaremos un bucle bash, buscar, renombrar y el comando mv para realizar esta acción, la opcion -v del comando mv permite que muestre por pantalla lo que esta realizando. La variable «ubidir» contiene el directorio en donde se realizaran los cambios de extensiones, la variable «oriext» contiene la extensión original de los archivos y la variable «newext» contiene la nueva extensión que tendran los archivos al ejecutar el SCRIPT.
Para este ejemplo le daremos por nombre rut.sh al SCRIPT que verifica el digito verificador del rut chileno. Para ejecutarlo se debe ingresar > bash rut.sh 27962409-2
Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
# Debe ingresar el rut completo con guion y digito verificador ej. 12345678-9
rut=$1
# Se valida que el cuerpo del rut solo sean caracters numericos
# si el rut ingresado no tiene solo numeros el script se detiene
# tambien separamos el rut del digito verificador
dve=`echo$rut|cut-d"-"-f2`
rut=`echo$rut|cut-d"-"-f1`
re='^[0-9]+$'
while:
do
if[[$rut=~$re]];then
break
else
echo"<<<< RUT $rut SOLO DEBE TENER CARACTERES NUMERICOS >>>>"
4) Una vez hecho esto, sumamos todos los resultados: 18 + 0 + 16 + 10 + 36 + 73 + 14 + 6 = 163
5) El resultado obtenido lo dividimos por 11, para luego obter el Resto de esa división. 163 / 11 = 14,81818181818182 Tomamos el resultado sin decimales y sin aproximación. En este caso quedaría 14 y lo multimplicamos por 11 14 x 11 = 154
6) Posteriormente, al resultado del paso 4 le restamos los 154 obtenidos anteriormente. 163 – 154 = 9 (valor absoluto, sin signo)
7) Y para finalizar, a 11 le restamos el resultado anterior: 11 – 9 = 2
Y así hemos calculado que 2 es el digito verificador de nuestro Rut, tal cual lo indicamos al comienzo de este ejercicio.
Ahora bien, si como resultado final del digito verficador nos da el número 11, el dígito verificador será 0 y si es 10 el dígito será la letra K.
Cuando ejecutamos ciclos dentro de otro ciclo se denomina ANIDACIÓN. No es aconsejable abusar mucho de esta técnica pues dificulta la comprensión del código.
En el siguiente ejemplo se ejecutan dos ciclos for uno superior que va desde 1 hasta 4, y en cada una de estas 4 iteraciones se realizará el ciclo interno que va desde 1 hasta 3.
Este sitio existe gracias a personas como tú Cada línea de código, cada artículo, cada script compartido aquí lleva horas de dedicación. Si alguna vez esta página te ayudó a resolver un problema, aprender algo nuevo o simplemente te hizo sentir acompañado en tu camino con Linux/Unix… Considera hacer una donación. Tu apoyo no solo mantiene vivo este proyecto, también me da fuerzas para seguir creando. No importa el monto. Lo que importa es el gesto.
Gracias por estar aquí. Gracias por creer en el conocimiento libre.-