Hej,
Hvordan kan jeg gøre for at vise, når jeg gøre med skrifterne liste entris, eller listen særlige post, det viser 2 linier, når jeg angive indrejse for at søge ...¿?
Jeg indsætte scriptet:
Code:
# Global variables
film=/opt/etc/film/film.txt
export film
confirm()
{
echo -en "$@"
read ans
ans=`echo $ans | tr '[a-z]' '[A-Z]'`
if [ "$ans" == "Y" ]; then
return 0
else
return 1
fi
}
num_lines()
{
grep -i "$@" $film|wc -l| awk '{ print $1 }'
}
find_lines()
{
# Busca lineas de entrada $1
res=-1
if [ ! -z "$1" ]; then
grep -i "$@" $film
res=$?
fi
return $res
}
list_items()
{
# Lista los resultados encontrados
if [ "$#" -eq "0" ]; then
echo -en "Buscar usuario: (en blanco muesta toda la lista): "
read search
if [ -z "$search" ]; then
search="."
fi
echo
else
search="$@"
fi
find_lines "${search}" | while read i
do
echo "$i" | tr ':' '\t'
done
echo -en "Encontrados: "
num_lines "$search"
}
add_item()
{
echo
echo
echo
echo " NUEVA PELI"
echo " COMPLETA TODOS LOS DATOS"
echo " - AÑO MES DIA DIRECTOR TIPO - "
echo
echo -en "Nombre: "
read name
find_lines "^${name}:"
if [ `num_lines "^${name}:"` -ne "0" ]; then
echo "El usuario, $name ya existe en el fichero."
return
fi
echo -en "Año: "
read "ano"
echo -en "Director: "
read filmaker
echo -en "Genero:"
read genre
echo -en "Calificacion:"
read calification
# Confirmacion
echo "${name} Password=${ano}
${calification}, ${filmaker}, ${genre}" >> $film
echo
echo
echo -en "--> ALTA FILM"
echo
echo
}
locate_single_item()
{
echo -en "Peli a buscar: "
read search
n=`num_lines "$search"`
if [ -z "$n" ]; then
n=0
fi
while [ "${n}" -ne "1" ]; do
#list_items "$search"
echo -en "${n} peli encontrada. Selecciona una "
case "$n" in
"0") echo "menos" ;;
"*") echo "mas" ;;
esac
echo "especifica un patron de busqueda (q para volver al menu anterior): "
read search
if [ "$search" == "q" ]; then
return 0
fi
n=`num_lines "$search"`
done
return `grep -in $search $film |cut -d":" -f1`
}
#remove_item()
#{
# locate_single_item
# search=`head -2 $film`
# if [ -z "${search}" ]; then
# return
# fi
# list_items "$search"
# confirm "Borrar?"
# if [ "$?" -eq "0" ]; then
# grep -v "$search" $film > ${film}.tmp ; mv ${film}.tmp ${film}
# else
# echo "NO BORRADO"
# fi
#}
edit_item()
{
locate_single_item
search=`head -$? $film | tail -1|tr ' ' '.'`
if [ -z "${search}" ]; then
return
fi
list_items "$search"
thisline=`grep -i "$search" $film`
oldname=`echo $thisline|cut -d"" -f1`
oldano=`echo $thisline|cut -d"," -f2`
oldfilmaker=`echo $thisline|cut -d"," -f3`
oldcalification=`echo $thisline|cut -d"," -f4`
oldgenre=`echo $thisline|cut -d"," -f5`
echo "BUSCAR : $search"
grep -v "$search" $film > ${film}.tmp ; mv ${film}.tmp ${film}
echo -en "Pelicula [ $oldname ] "
read name
if [ -z "$name" ]; then
name=$oldname
fi
find_lines "^${name}:"
if [ `num_lines "^${name}:"` -ne "0" ]; then
echo "La pelicula, $name esta en el fichero."
return
fi
echo -en "ano [ $oldano ] "
read ano
if [ -z "$ano" ]; then
ano=$oldano
fi
echo -en "Pelicula [ $oldfilmaker ] "
read filmaker
if [ -z "$filmaker" ]; then
filmaker=$oldfilmaker
fi
echo "${name}:${ano}:${filmaker}" >> $film
}
Scripts jeg har brug for at tillade søge, redigere og slette data fra dig fil.
Hvordan kan jeg gøre ..?
takker Dem for Deres hjælp.
husk jeg brug for din hjælp ..!
skål.
dorek
