The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Behov for å lese data fra en fil (klippe / awk) rejirajraghav Shell programmering og Skripting 1 04-29-2008 04:13
les inndatafilen for satsvis jobb kinmak Shell programmering og Skripting 14 07-11-2007 08:22
Les fra datafil fongthai Shell programmering og Skripting 12 02-27-2007 09:22
Reading i datasett i arrays fra en inndatafil. sidamin810 Shell programmering og Skripting 5 07-06-2005 08:54
lese en fil som input og passerer hver linje til en annen script sajjad02 Shell programmering og Skripting 0 09-25-2004 12:13

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 06-22-2006
dorek dorek is offline
Registrert bruker
  
 

Bli Dato: juni 2006
Innlegg: 2
skript som tillater søk, redigerer og sletter på filen

Hei,

Hvordan kan jeg gjøre for å vise når jeg gjøre med skreppe liste entris eller listen oppføringen, viser det 2 linjer når jeg angir oppføringen til søk ...¿?
jeg limer skriptet:


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 trenger som tillater søk, redigere og slette data fra du filen.


Hvordan kan jeg gjøre ..?


Takk for hjelpen.
behage jeg nød din hjelpe ..!
skål.

dorek

Sist endret av dorek; 06-22-2006 kl 12:57..
 

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er PÃ¥
Smilefjes er PÃ¥
[IMG] koden PÃ¥
HTML-koden Av
Pingbacks er PÃ¥
Refbacks er PÃ¥




Alle klokkeslett er GMT -4. NÃ¥ er klokken 07:29.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0