miércoles, 12 de enero de 2011

Formas de hacer un bucle “for” en Bash

Tres maneras distintas de realizar un bucle “FOR” en Bash.

   1:  #!/bin/bash
   2:   
   3:  for i in $(cat /etc/passwd)
   4:  do
   5:      echo $i
   6:  done



Al estilo C :P


   1:  #!/bin/bash
   2:   
   3:  for ((i=0;i<=48;i++))
   4:  do
   5:      echo $i
   6:  done




Igual que el primero pero otra manera de ejecutar el comando.


   1:  #!/bin/bash
   2:   
   3:  for i in `seq 48`
   4:  do
   5:      echo $i
   6:  done



Si al procesar un fichero de texto con un bucle FOR i no consigues ir línea por línea puedes mirar este otro post.Leer línea por línea un fichero en Bash

martes, 11 de enero de 2011

Leer un fichero línea por línea en Bash.

Para leer un fichero línea por línea en Bash se tiende a utilizar el bucle “for” y el resultado que se obtiene es la evaluación de cada palabra y no de cada una de las líneas del fichero.
   1:  #!/bin/bash
   2:   
   3:  for i in $(cat file.txt)
   4:  do
   5:     echo $i
   6:  done

La solución consiste en utilizar un bucle “while” de la siguiente manera:

   1:  #!/bin/bash
   2:   
   3:  while read linea
   4:  do
   5:     echo -e $linea
   6:  done < fichero


Es mucho más simple que usar el bucle “for”.

También es posible utilizar el bucle “for” para leer un fichero cambiando el separador de campo interno (IFS).

   1:  #!/bin/bash
   2:   
   3:  #Almacenamos el valor original de la variable IFS
   4:  oldIFS=$IFS
   5:   
   6:  #Cambiamos el valor del IFS
   7:  IFS=$'\n'
   8:   
   9:  for line in $(cat file.txt)
  10:  do
  11:      echo $line
  12:  done
  13:   
  14:  #Restauramos el IFS
  15:  IFS=$oldIFS


El resultado de esta ejecución es la salida en pantalla de cada una de las líneas del fichero.

lunes, 20 de diciembre de 2010

RAID 1 o Volumen reflejado en Windows server 2008

Éste nivel de RAID ofrece redundancia utilizando la duplicación de los datos en la otra mitad de los discos que forman parte del RAID.La suma del espacio que forman el grupo es la mitad del mismo.
RAID 1 sigue el siguiente esquema para la distribución de los datos:
raid1
La implementación del RAID 1 en Windows server 2008 se denomina “Volumen reflejado”.
Clic derecho en Equipo ==> Administrar ==> Almacenamiento ==> Administración de discos.
Para formar el RAID 1 como mínimo se requieren 2 discos.

Utilizando RAID

RAID son las siglas de (Redundant Array of Independent Disks, matriz redundante de discos independientes), es un método en el que se combinan varios discos duros con el objetivo de crear una única unidad, que posteriormente el sistema la utilizará como si de un único disco duro se tratase, el sistema no se percatará de que la información introducida en esa unidad será fragmentada en varios discos duros, porque de esto se encargará una controladora RAID.

RAID no sólo nos ofrece la posibilidad de combinar varios discos duros sino que también nos ofrece una mayor tolerancia a errores que los discos duros convencionales junto con la posibilidad de recuperar los datos de un disco duro averiado (esto depende del nivel de RAID seleccionado, por ejemplo RAID 0 no ofrece redundancia alguna, si el primer disco falla ya se puede dar por perdida el toda la información, porque estará incompleta).