![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Behovet av att läsa data från en fil (cut / awk) | rejirajraghav | Shell-programmering och Skript | 1 | 04-29-2008 04:13 |
| Läs indatafil för partiet jobb | kinmak | Shell-programmering och Skript | 14 | 07-11-2007 08:22 |
| Läs från datafil | fongthai | Shell-programmering och Skript | 12 | 02-27-2007 09:22 |
| Läsa i dataset i kedjor från en indatafil. | sidamin810 | Shell-programmering och Skript | 5 | 07-06-2005 08:54 |
| läsa en fil som indata och passerar varje rad till en annan script | sajjad02 | Shell-programmering och Skript | 0 | 09-25-2004 12:13 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
#1 (permalänk)
|
||||
|
||||
|
skript som möjliggör sökningar, redigeringar och stryker av filen
Hej,
Hur kan jag göra för att visa när jag gör med ränsel lista entris, eller lista särskild post, visa det 2 rader när jag anger posten söka ...¿? Jag klistrar skriptet: Kod:
# 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
}
Skript Jag behöver att möjliggöra sökning, redigera och ta bort data från er fil. hur kan jag göra ..? tackar er för er hjälp. behaga Jag behöver din hjälp ..! skål. dorek ![]() Senast redigerad av Dorek; 06-22-2006 at 12:57.. |