Curso de Programación en Bash/S21.sh

De WikiCabal
< Curso de Programación en Bash
Revisión del 19:27 9 feb 2013 de Rrc (discusión | contribuciones)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ir a la navegación Ir a la búsqueda

S21.sh

 1 #!/bin/sh
 2 
 3 . ./LibComun
 4 
 5 for i in {1..6}; do touch ${i}.Ztv; done
 6 
 7 echo "Mira la lista de archivos que inician con números 1, 2, 3, 4, 5 y 6"
 8 echo "que se creo con nuestro for"
 9 
10 ls -al [1-6]*
11 
12 read I 
13 
14 echo
15 echo "El STD_MSG declarado en LibComun es"
16 echo "$STD_MSG"
17 echo
18 echo "Vamos cambiar el extensión de los archivos recienes creados a .bak"
19 echo "usando un función en el lib LibComun"
20 echo
21 
22 read I
23 
24 rename .Ztv .bak
25 echo "Mira la lista de archivos ahorra después de cambiar sus nombres:"
26 
27 ls -al [1-6]*
28 echo
29 echo "Los continidos de LibComun son:"
30 cat LibComun

Resultado

[rrc@Pridd BashClase]$ ./S21.sh 
Mira la lista de archivos que inician con números 1, 2, 3, 4, 5 y 6
que se creo con nuestro for
-rw------- 1 rrc rrc 0 2011-11-16 20:47 1.Ztv
-rw------- 1 rrc rrc 0 2011-11-16 20:47 2.Ztv
-rw------- 1 rrc rrc 0 2011-11-16 20:47 3.Ztv
-rw------- 1 rrc rrc 0 2011-11-16 20:47 4.Ztv
-rw------- 1 rrc rrc 0 2011-11-16 20:47 5.Ztv
-rw------- 1 rrc rrc 0 2011-11-16 20:47 6.Ztv

El STD_MSG declarado en LibComun es
Listo a cambiar los nombres de algunos achivos

Vamos cambiar el extensión de los archivos recienes creados a .bak
usando un función en el lib LibComun

Mira la lista de archivos ahorra después de cambiar sus nombres:
-rw------- 1 rrc rrc 0 2011-11-16 20:47 1.bak
-rw------- 1 rrc rrc 0 2011-11-16 20:47 2.bak
-rw------- 1 rrc rrc 0 2011-11-16 20:47 3.bak
-rw------- 1 rrc rrc 0 2011-11-16 20:47 4.bak
-rw------- 1 rrc rrc 0 2011-11-16 20:47 5.bak
-rw------- 1 rrc rrc 0 2011-11-16 20:47 6.bak 

Los continidos de LibComun son:
# LibComun
# # Nota no "#!/bin/sh"
#
STD_MSG="Listo a cambiar los nombres de algunos achivos"
rename()
{ # Uso de función:   rename .txt .bak 
  FROM=$1
  TO=$2

  for i in *$FROM
    do
      j=`basename $i $FROM`
      mv $i ${j}$TO
  done
}
[rrc@Pridd BashClase]$

Explicación