Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/04/2012, 20:27
amadeo123
 
Fecha de Ingreso: diciembre-2011
Mensajes: 134
Antigüedad: 12 años, 4 meses
Puntos: 5
Problema con programación scripts shell.

Tengo un problema bastante serio, estoy estudiando informática y la programación la llevo bastante bien, pero la parte de scripting de linux se me esta quedando trabada hasta tal punto que en la segunda practica no se por donde salir. Espero que alguien pueda ayudarme.

El 1er ejercicio consistía en hacer un script que pudiese sustituir al comando find usando ls y grep.


#!/bin/bash
#
#
ls | grep -E -e $1

el escript es este, donde para aprobar teníamos que encontrar palabras que empezasen por una letra en concreto, que terminasen por una letra en concreto, que empezasen o acabasen por una letra y que empezasen y acabasen por una letra.


ok. ahora viene el problema, nos piden mejorar el ejercicio añadiendole los parametros de opcion de nombre de ficheros. que sino me confundo son el -name, -iname, -regrex. pero no tengo muy claro que hacen estos, ni tampoco tengo claro como hacerlo. solo se que se debe hacer con un case y con el cut porque el profesor nos lo ha dicho y nos ha dado parte del codigo que pongo aqui.


por una parte el case.


case $1
in
-name)
ls|grep -E $var;;

-iname)
ls|grep -E $var;;

-regrex)
ls|grep -E $var;;
esac



y por otra esto.

var=$(echo "$1" | cut -d"*" -f1 | wc -w);
if test $var -eq 0;
then
#var1="^"$(echo "$1" | cut -d"*" -f1)
var="^"$(echo "$1" | cut -d"*" -f2)
else
var=$(echo "$1" | cut -d"*" -f1)"$"
#var2=$(echo "$1" | cut -d"*" -f2)"$"
fi
echo $var




no se si me podréis ayudar , espero que si, pero estoy muy perdido.