martes, 9 de junio de 2015

Soluciones scripts II

Como podéis comprobar la mayoría de los ejercicios se pueden hacer de varias formas, pero recordar QUE LA ÚNICA LIMITACIÓN QUE TIENE EL PROGRAMADOR ES SU PROPIA IMAGINACIÓN.

Solución al ejercicio número 1:

También puedes poner solamente la secuencia de números pares

for var in 0 1 2 3 4 5 6 7 8 9 10 12 -- también for var in `seq 1 12;` o $(seq 1 12)

do

if [ `expr $var % 2` -eq 0 ]

then

for var2 in 0 1 2 3 4 5 6 7 8 9 10

do

echo "$var x $var2" = `expr $var \* $var2`

done

fi

read

done

Solución al ejercicio número 2:

linea="linea"

while [ ! -z "$linea" ]

do

read linea

if [ ! -z "Slinea" ]

then

numlinea=`expr $numlinea + 1`

echo " La linea numero: $numlinea del fichero es: $linea"

fi

done</home/alumno/fichero.txt

Otras formas o posibles soluciones:

  • nl fichero.txt|tr -s"\t" " "|cut -d " " -f2|tail -1
  • otra:
    • cat -n fichero.txt
    • cat fichero.txt|wc -l

Solución al ejercicio número 3:

if test $# -ne 2 –a $1 –lt $2

then

echo “Introduce solo dos números y el segundo mayor que el primero”

else

for (( i=$1; i<=$2;i++))

do

echo “$i”

done

fi

Solución al ejercicio número 4:

for var in $*

do

if [ -d $var ]

then

echo $var es un directorio

rm –ri $var

fi

if [ -f $var –a `find . –name $var –a –size +100c` ]

then

echo $var es un fichero de mas de 100 bytes

rm $var

else

echo $var no tiene 100

fi

done

lunes, 8 de junio de 2015

Scripts II

Más ejemplos para programar.

Ejercicios propuestos en el examen de Junio del 2013

  1. Realiza un script que muestre todas las tablas de multiplicar de los números pares hasta el 12 incluido.
  2. Realiza un guión que nos muestre las líneas de un fichero numeradas y nos diga el número total de líneas(igual que wc).
  3. Realiza un script que devuelva todos los números comprendidos entre dos números enteros que se le pasen como parametros. Se tiene que comprobar que se le pasan dos números y que el primero es menor que el segundo, en casos contrarios mostrar un error.
  4. Realiza un sript que borre los todos los directorios y ficheros que le pasamos. El fichero tiene que tener un tamaño superior a 100bytes.

viernes, 5 de junio de 2015

Soluciones Scripts I

Solución al ejercicio numero 1:

creamos el script : copiaseguridad cp -R /home /mnt/respaldo

ejecutamos el crontab -e: 00 10 * * 7 ./home/copiaseguridad

Solución al ejercicio numero 2:

ps aux|sort -r -k3|grep -w $usuario|head -1

ps -eo user -o %cpu -o cmd|sort -r|grep $usuario|head -1

Solución al ejercicio numero 3:

clear

echo "Introduzca el nombre de usuario a comprobar: "

read nombre

if `who|grep $nombre >/dev/null`

then

echo "El usuario está conectado"

ps –u $nombre|wc -l

else

echo "El usuario no está conectado"

fi